我尝试为uilabel添加边框,但我只想要有顶部,右边和底部边框.
喜欢这个
---------------- | I am a label | | ----------------
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)以显示/隐藏您感兴趣的边框边缘.上面的示例隐藏了左边缘.