UILabel的Corner Radius属性在iOS 7.1中不起作用

我正在设置UILabelcornerRadius属性。 它的工作正常所有版本的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