是否可以在由 CATiledLayer 支持的 UIView 子类中的 draw(_ rect: CGRect) 函数中在矩形边界外画一条线?
Is it possible to draw a line outside rect bounds in draw(_ rect: CGRect) function in a UIView subclass that is backed by a CATiledLayer?
我有一个由 CATiledLayer 支持的 UIView 子类,我在其中覆盖自定义绘图的 draw(_ rect: CGRect) 函数。是否可以在矩形边界外画一条线?
我刚刚做了一个测试,不行,似乎你不能在 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
在情节提要中设置了视图,这样您就可以看到视图的边框,这就是绘制的内容:
我的 draw(_:)
方法试图通过 (-10,-10) 插入绘制矩形,这使得矩形更大,但是在故事板中设置的边界之外看不到任何绘图。
我有一个由 CATiledLayer 支持的 UIView 子类,我在其中覆盖自定义绘图的 draw(_ rect: CGRect) 函数。是否可以在矩形边界外画一条线?
我刚刚做了一个测试,不行,似乎你不能在 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
在情节提要中设置了视图,这样您就可以看到视图的边框,这就是绘制的内容:
我的 draw(_:)
方法试图通过 (-10,-10) 插入绘制矩形,这使得矩形更大,但是在故事板中设置的边界之外看不到任何绘图。