2015-09-24 44 views
0

我正在嘗試調整我爲iPad製作的應用程序中的貝塞爾繪製圓圈的大小。我知道的唯一方法是使用CATransform3DMakeScale。但是,有沒有一種方法可以簡單地爲圓形的圖層指定高度或寬度,並且會調整它的大小以適合我的規格。簡單地說,因爲我認爲這比使用比例尺更容易和一致。我可以在swift中調整像常規視圖那樣的貝塞爾路徑嗎?

+0

爲什麼你不只是建立在正確的大小圓擺在首位? – jtbandes

回答

1

如果我正確地理解了你,你想讓這個圓適合它繪製的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

相關問題