我知道可以通过设置UIView图层的borderWidth和borderColor属性来自定义整个边框,但是现在我只想更改边框的边缘,有人知道怎么做吗?

最佳答案

我认为一个简单的解决方案是在视图的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中调整参数,您可以创建各种组合,例如上+左,上+下等。

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

关于iphone - 如何自定义UIView的单个边缘?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7513282/

10-10 03:58