1
我知道通過設置UIView圖層的borderWidth和borderColor屬性允許我自定義整個邊框。但是現在我只想改變邊框的邊緣,任何人都可以知道如何做到這一點?如何自定義UIView的單邊?
我知道通過設置UIView圖層的borderWidth和borderColor屬性允許我自定義整個邊框。但是現在我只想改變邊框的邊緣,任何人都可以知道如何做到這一點?如何自定義UIView的單邊?
我認爲,一個簡單的解決辦法是在你的視圖的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調整參數,你可以創建不同的組合,如向上+左,上+下等
不要忘記更新子層,當屏幕旋轉的框架。
如果答案也適用於圓角,我會給+1。我試圖讓UIView的頂部邊緣更亮,底部邊緣更暗。 – kris