2011-09-22 65 views
1

我知道通過設置UIView圖層的borderWidth和borderColor屬性允許我自定義整個邊框。但是現在我只想改變邊框的邊緣,任何人都可以知道如何做到這一點?如何自定義UIView的單邊?

+0

如果答案也適用於圓角,我會給+1。我試圖讓UIView的頂部邊緣更亮,底部邊緣更暗。 – kris

回答

3

我認爲,一個簡單的解決辦法是在你的視圖的CALayer的添加子層來模擬一個邊界,如:

float borderWidth = 5.0; 
CALayer *mockBorder = [CALayer layer]; 
[mockBorder setBorderColor:[[UIColor blueColor] CGColor]]; 
[mockBorder setBorderWidth:borderWidth]; 
[mockBorder setFrame:CGRectMake(-1.0 * borderWidth, 
           0.0, 
           yourView.frame.size.width + 2 * borderWidth, 
           yourView.frame.size.height + borderWidth)]; 
[[yourView layer] addSublayer:mockBorder]; 

上面的示例模擬上僅邊界。通過CGRectMake調整參數,你可以創建不同的組合,如向上+左,上+下等

不要忘記更新子層,當屏幕旋轉的框架。