是否可以在由CATiledLayer支持的UIView子类中的draw(_ rect:CGRect)函数中的矩形边界外画线?

时间:2018-08-22 12:04:28

标签: ios swift uiview drawrect catiledlayer

我有一个由CATiledLayer支持的UIView子类,在这里我重写了draw(_ rect:CGRect)函数以进行自定义绘制。可以在矩形边界外画一条线吗?

1 个答案:

答案 0 :(得分:0)

我只是做了一个测试,没有,看来您不能在调用draw(_:)函数的调用中提供的矩形之外。

我创建了一个自定义的UIView子类,该子类覆盖了draw(_:)

class CustomView: UIView {
    override func draw(_ rect: CGRect) {
        let drawRect = rect.insetBy(dx: -10, dy: -10)
        let path = UIBezierPath(rect: drawRect)
        UIColor.yellow.setFill()
        path.fill()
    }
}

然后我在我的情节提要中添加了一个CustomView。我在情节提要中使用layer.borderWidth = 2设置了视图,以便您可以看到视图的边框,这就是绘制的内容:

enter image description here

我的draw(_:)方法尝试通过(-10,-10)插入绘制矩形,这使矩形变大,但是在情节提要中设置的边界之外没有可见的绘制。