我正在为iPad制作的应用程序中调整bezier绘制的圆圈的大小。目前我知道的唯一方法是用CATransform3DMakeScale
。但是,有没有一种方法,我可以简单地为圆形的形状层指定一个高度或宽度,它会调整它的大小,以符合我的规格。很简单,因为我认为这比一直使用刻度更容易和一致。
如果我理解正确的话,你想让圆圈适合它所绘制的UIView吗?如果你正在创建你的圆圈作为UIView的子类,你可以使用setNeedsDisplay
和drawRect
方法来实现。
class CircleView: UIView {
let radius: CGFloat = min(self.frame.width, self.frame.height) / 2 {
didSet {
setNeedsDisplay()
}
}
override func drawRect(rect: CGRect) {
// draw your UIBezierPath here
}
}
首先从视图的宽度或高度获得圆的半径,这取决于哪个更小。然后调用setNeedsDisplay()
,它将执行drawRect
内部的操作。
有关更多信息,请查看这两个类的类引用:
UIViewUIBezierPath