Ios UIBezierPath addClip和drawRect
我知道有一种方法可以画一个roundedRect-Ios UIBezierPath addClip和drawRect,ios,swift,uibezierpath,Ios,Swift,Uibezierpath,我知道有一种方法可以画一个roundedRect-UIBezierPath(roundedRect,cornerRadius) 但是我想知道,如果我自己剪辑这个角,为什么我必须在绘制矩形之前添加剪辑?(我觉得画完后再剪辑矩形更合理。我错过了什么概念?) (1) 工作 (2) 不行 如果将绘图区域想象为一张纸,剪切并不意味着在绘图后用剪刀将其剪下。相反,这更像是把一个模板板上的表,只有冲孔出来的地区是相关的绘图,然后 此概念为您提供了更大的灵活性,因为您可以随时删除或交换模板,即设置新的剪裁路径,
UIBezierPath(roundedRect,cornerRadius)
但是我想知道,如果我自己剪辑这个角,为什么我必须在绘制矩形之前添加剪辑?(我觉得画完后再剪辑矩形更合理。我错过了什么概念?)
(1) 工作
(2) 不行
如果将绘图区域想象为一张纸,剪切并不意味着在绘图后用剪刀将其剪下。相反,这更像是把一个模板板上的表,只有冲孔出来的地区是相关的绘图,然后 此概念为您提供了更大的灵活性,因为您可以随时删除或交换模板,即设置新的剪裁路径,这对于更复杂的图形非常有用
override func drawRect(rect: CGRect) {
var clipPath = UIBezierPath(roundedRect: rect, cornerRadius: 8.0)
path.addClip()
var rectPath = UIBezierPath(rect: rect)
UIColor.redColor().setFill()
rectPath.fill()
}
override func drawRect(rect: CGRect) {
var rectPath = UIBezierPath(rect: rect)
UIColor.redColor().setFill()
rectPath.fill()
var clipPath = UIBezierPath(roundedRect: rect, cornerRadius: 8.0)
path.addClip()
}