是否有一種通用方法來填充Swift中的某個區域。在Swift中填充顏色
我在UIView,線條,橢圓,曲線等有各種形狀。等 這些形狀劃定了一定數量的區域。 我想用一種顏色(uiColorOne)和另一種顏色(uiColorTwo)填充一個區域。
這可能嗎?如果是,我該怎麼做?
是否有一種通用方法來填充Swift中的某個區域。在Swift中填充顏色
我在UIView,線條,橢圓,曲線等有各種形狀。等 這些形狀劃定了一定數量的區域。 我想用一種顏色(uiColorOne)和另一種顏色(uiColorTwo)填充一個區域。
這可能嗎?如果是,我該怎麼做?
import UIKit
override func drawRect(rect: CGRect)
{
let path = UIBezierPath()
path.moveToPoint(CGPoint(x: 200, y: 200))
path.addLineToPoint(CGPoint(x: 200, y: 300))
path.addLineToPoint(CGPoint(x: 300, y: 200))
path.closePath()
UIColor.redColor().set()
path.lineWidth = 1
path.fill()
}
您將需要以開始在你的代碼做一些幾何形狀的物品覆蓋drawRect
(才覆蓋,從來沒有稱呼它)。代碼片段創建一個基於點的元素(注意不是像素),並用redColor
填充它。大多數情況下,你使用的元素都是UIBezierPath
,所以我建議你從蘋果上看得很清楚。這裏有文檔,因爲它有一些很棒的方法,可以幫助你解決你每一天的困難:UIBezierPath
我的drawRect已經正常工作了。使用UIBezierPath的問題是我需要先準備一個路徑然後填充它。這不是我想要的(至少在最好的情況下)。我有一堆線條和曲線,除去了一些我想要填充的區域(如果可能的話,不必擔心周圍的形狀)。如果我可以開始着色一個點然後遞歸地(對於相鄰點)進行着色,那將是理想的。 – Michel
你想以編程方式爲屏幕上的每個元素着色?你介意顏色(對於所有人來說是不同的還是相同的?)你能分享一些代碼來找出你想要做的嗎?謝謝 – Korpel
在這一點上,我真的沒有代碼顯示,因爲不工作。 我只想知道如何填充一個區域。而且這個地區並沒有被預測到。想象一下,例如幾十條線和曲線遍佈視圖,你會得到很多區域。 – Michel
閱讀'NSBezierPath'([documentation](https://developer.apple.com/library/mac/documentation) /Cocoa/Reference/ApplicationKit/Classes/NSBezierPath_Class/index.html)) – Arc676
我正在尋找一個普通的填充洪水解決方案。在撰寫我的文章之前,我已經快速閱讀了BézierPath的方式。 但似乎我必須分開處理周圍的曲線。 希望我錯了,我會看看你建議的鏈接。 – Michel
'是否有通用的方法來填充Swift中的區域:否,因爲Swift是一種編程語言,而不是UI框架。你需要的可能是UIKit,這是iOS的UI框架。你可以在Swift或Objective-C中使用它。 – Moritz