Ответ 1
Добавьте следующую строку в код:
originaltagLbl.layer.masksToBounds = YES;
Для справки см. this SO или прочтите documentation.
Я устанавливаю свойство cornerRadius
для UILabel
. Его работа отлично подходит для всех версий 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];
если я использую это, просто отображая метку в виде прямоугольного прямоугольника. Итак, как установить радиус угла UILabel
в iOS 7.1
Добавьте следующую строку в код:
originaltagLbl.layer.masksToBounds = YES;
Для справки см. this SO или прочтите documentation.
Свифт 3/4/5
yourlabel.layer.cornerRadius = 8 //your desire radius
yourlabel.layer.masksToBounds = true
Попробуйте установить для свойства UILabel clipsToBounds
значение YES
Верно, что clipToBounds работает в 7.1, но проблема в ситуациях, когда вы прокручиваете/оживляете его очень медленно и делаете все лагги.
Настройка цвета фона на слое вместо uiview - это все, что вам нужно.
См: UILabel layer cornerRadius отрицательно влияет на производительность
Вы можете использовать код ниже,
[[myLabel layer] setCornerRadius:5.0f];
[[myLabel layer] setMasksToBounds:YES];
спасибо,
Решение Swift 2:
@IBOutlet weak var your_label: UILabel!
your_label.layer.cornerRadius = 5
your_label.layer.masksToBounds = true