it-roy-ru.com

UIlabel layer.cornerRadius не работает в iOS 7.1

В настоящее время я смотрю на UILabel со свойством addMessageLabel.layer.cornerRadius = 5.0f; На устройстве с установленной iOS 7.0 оно имеет закругленные углы. На устройстве с установленной iOS 7.1 оно не имеет закругленных углов.

Это просто ошибка в iOS 7.1?

176
Mike V

Установите для свойства clipsToBounds значение true

addMessageLabel.clipsToBounds = true
460
Raheel Sadiq

Я думаю, что лучший способ установить радиус угла:

enter image description here

и убедитесь, что "Subviews клипа" отмечен:

enter image description here

Проверка "Клип подпредставлений" равна коду addMessageLabel.clipsToBounds = YES;.

63
Allen

Добавьте две строки ниже и проверьте их.

[[addMessageLabel layer] setCornerRadius:5.0f];
[[addMessageLabel layer] setMasksToBounds:YES];

OR

[addMessageLabel setClipsToBounds:YES];
22
Tapas Pal

Моя проблема была немного другой.

Хотя я сделал сделать btn.clipsToBounds = true

Я не собирался делать:

btn.layer.cornerRadius = 20

Потому что у меня были разные размеры экрана. Вместо этого я последовал это ответ и сделал:

override func layoutSubviews() {
    seeMoreButton.layer.cornerRadius = seeMoreButton.bounds.size.height / 2
}

Это не сработало, потому что я забыл добавить super.layoutSubviews(). Правильный код:

override func layoutSubviews() {
    super.layoutSubviews()
    seeMoreButton.layer.cornerRadius = seeMoreButton.bounds.size.height / 2
}
4
Honey

Я попробовал ниже, и я получил успешный вывод.

yourlabelname.layer.cornerRadius = 10.0f;
[yourlabelname setClipsToBounds:YES];

Есть ли что-то еще, что останавливает вас?

3
Mano Rajendran
 //works perfect in Swift 2.0 for a circular or round image          


@IBOutlet var theImage: UIImageView!
        override func viewDidLoad() {
            super.viewDidLoad()
    //Make sure the width and height are same
            self.theImage.layer.cornerRadius = self.theImage.frame.size.width / 2
            self.theImage.layer.borderWidth = 2.0
            self.theImage.layer.borderColor = UIColor.whiteColor().CGColor
            self.theImage.clipsToBounds = true

        }
0
Naishta
yourlabelname.layer.cornerRadius = yourlabelname.frame.size.width/2;
[yourlabelname setClipsToBounds:YES];

Убедитесь, что вы проверяете с соответствующей целью развертывания.

0
iAmita Singh