ios – 只绘制一个uilabel周围的顶部,右侧和底部边界

前端之家收集整理的这篇文章主要介绍了ios – 只绘制一个uilabel周围的顶部,右侧和底部边界前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我尝试为uilabel添加边框,但我只想要有顶部,右边和底部边框.

喜欢这个

----------------
                          |
            I am a label  |
                          |
           ----------------

我尝试使用这些代码,但默认添加所有4边

myLabel.layer.borderWidth = 1;
    myLabel.layer.borderColor = [UIColor blackColor];

那么反正我只能加3边,甚至1或2边?

谢谢!

解决方法

你可以使用面具.这是我用来测试理论的代码,它的工作原理很好:
// Define the border width in a variable,we'll be using it elsewhere
CGFloat borderWidth = 1.0;

// This creates a testing view to test the theory,in your case this will be your UILabel
UIView* view = [[UIView alloc] initWithFrame:CGRectMake(20,60,250,100)];
view.layer.borderColor = [UIColor blackColor].CGColor;
view.layer.borderWidth = borderWidth;
[self.view addSubview:view];

// Create the mask to cover the area of the view you want to **show**
// Here,we create a mask that covers most of the view,except the left edge
// The mask needs to be coloured in black,as black acts as transparent,whereas white is opaque in mask parlance
UIView* mask = [[UIView alloc] initWithFrame:CGRectMake(borderWidth,view.frame.size.width - borderWidth,view.frame.size.height)];
mask.backgroundColor = [UIColor blackColor];
view.layer.mask = mask.layer;

您可以调整面具的大小和位置(给出borderWidth)以显示/隐藏您感兴趣的边框边缘.上面的示例隐藏了左边缘.

猜你在找的iOS相关文章