我可以在swift中像普通视图一样调整bezier路径的大小吗?



我正在为iPad制作的应用程序中调整bezier绘制的圆圈的大小。目前我知道的唯一方法是用CATransform3DMakeScale。但是,有没有一种方法,我可以简单地为圆形的形状层指定一个高度或宽度,它会调整它的大小,以符合我的规格。很简单,因为我认为这比一直使用刻度更容易和一致。

如果我理解正确的话,你想让圆圈适合它所绘制的UIView吗?如果你正在创建你的圆圈作为UIView的子类,你可以使用setNeedsDisplaydrawRect方法来实现。

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内部的操作。

有关更多信息,请查看这两个类的类引用:

UIView

UIBezierPath

最新更新