UILabel的Corner Radius属性在iOS 7.1中不起作用
我正在设置UILabel
的cornerRadius
属性。 它的工作正常所有版本的iOS < 7.1
。 以下代码我已经使用,
UILabel *originaltagLbl = [[UILabel alloc]initWithFrame:CGRectMake(startX, startY, 100,30)]; [originaltagLbl setFont:[UIFont fontWithName:@"MuseoSans-500" size:15]]; [originaltagLbl setTextAlignment:NSTextAlignmentCenter]; [originaltagLbl setTextColor:UIColorFromRGB(0xffffff)]; originaltagLbl.backgroundColor = [UIColor redColor]; originaltagLbl.layer.cornerRadius = 5; originaltagLbl.layer.borderColor = [UIColor redColor].CGColor; originaltagLbl.layer.borderWidth = 1; [scrollView addSubview:originaltagLbl];
如果我使用这个,只是简单地将标签显示为矩形框,那么如何在iOS 7.1
设置UILabel
的圆angular半径
将下一行添加到您的代码中:
originaltagLbl.layer.masksToBounds = YES;
有关信息,请参阅此答案或阅读文档 。
Swift 3
yourlabel.layer.cornerRadius = 8 //your desire radius yourlabel.layer.masksToBounds = true
尝试将UILabel的clipsToBounds
属性设置为YES
的确,clipsToBounds在7.1中可以正常工作,但问题在于,如果您正在滚动/制作animation效果非常慢,并且会使所有内容都变得迟钝。
设置图层的背景颜色而不是uiview是所需要的。
请参阅: UILabel层cornerRadius负面影响性能
你可以使用下面的代码,
[[myLabel layer] setCornerRadius:5.0f]; [[myLabel layer] setMasksToBounds:YES];
谢谢,
Swift 2解决scheme:
@IBOutlet weak var your_label: UILabel! your_label.layer.cornerRadius = 5 your_label.layer.masksToBounds = true