2015-09-15 16 views
6

Bir roundedRect çizmek için bir yöntem olduğunu biliyorum? (Ben beraberlik daha mantıklı oldu sonra dikdörtgen klip gibi hissediyorum. Ben kaçırdım nasıl bir konsept?)UIBezierPath addClip ve drawRect

(1)

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() 
} 

(2)

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() 
} 

cevap

8

Eğer çalışmaz çalışmak çizim alanını bir kâğıt parçası olarak hayal ettiğinizde, 'un kırpılması, çizildikten sonra makasla bir şey kestiğiniz anlamına gelir. Bunun yerine, bir şablonun tahtaya yerleştirilmesi ve sadece çizilen alanların çizime uygun olması gibi.

Bu konsept size daha fazla esneklik sağlar, çünkü şablon kartını istediğiniz zaman kaldırabilir veya değiştirebilir, yani daha karmaşık çizimler için çok kullanışlı olabilecek yeni bir kırpma yolu ayarlayabilirsiniz.

+0

oh harika cevap! Teşekkür ederim :) – Jenny