2011-09-22 25 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调整参数,你可以创建不同的组合,如向上+左,上+下等

不要忘记更新子层,当屏幕旋转的框架。