0
我有一個UIImageView,你可以點擊它畫一個圓。我將圓圈的位置存儲在字典數組中。這允許我「重放」圓圈的繪圖。但是,當UIImageView與原始大小不同時,圓形不會縮放到新的UIImageView。如何縮放CAShapeLayer到不同的UIImageView
如何獲得圈子的比例?出於演示目的,最上面的圖片是用於輸入的UIImageView的大小,第二張是重放的大小。
輸入查詢的圓圈:
重播的圓圈(圓圈應該是在藍色的UIImageView
import Foundation
import UIKit
class DrawPuck {
func drawPuck(circle: CGPoint, circleColour: CGColor, circleSize: CGFloat, imageView: UIImageView) {
let circleBezierPath = UIBezierPath(arcCenter: CGPoint(x: circle.x,y: circle.y), radius: CGFloat(circleSize), startAngle: CGFloat(0), endAngle:CGFloat(M_PI * 2), clockwise: true)
let shapeLayer = CAShapeLayer()
shapeLayer.path = circleBezierPath.cgPath
//change the fill color
shapeLayer.fillColor = circleColour
//you can change the stroke color
shapeLayer.strokeColor = UIColor.white.cgColor
//you can change the line width
shapeLayer.lineWidth = 0.5
imageView.layer.addSublayer(shapeLayer)
}
}