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