я ищу способ отобразить UILabel с layer.cornerRadius и layer.shadow.
Я понял, что с помощью label.clipsToBounds = true будет установлено cornerRadius, а с помощью label.masksToBounds = false будет отображаться тень
С обоими будет отображаться только тень, без углаРадиус
let label = UILabel()
label.textAlignment = .center
label.font = UIFont.systemFont(ofSize: 32, weight: .regular)
label.textColor = .white
label.clipsToBounds = true
label.backgroundColor = Colors.Vibrants.softBlue
label.layer.cornerRadius = 50
label.layer.masksToBounds = false
label.layer.shadowColor = UIColor.black.cgColor
label.layer.shadowOffset = CGSize(width: 5, height: 5)
label.layer.shadowRadius = 5
label.layer.shadowOpacity = 0.7
label.text = "0"
Кто-нибудь может решить эту проблему, чтобы отображались cornerRadius И shadow?
Возможный дубликат Swift — проблемы с угловым радиусом и тенью
@1 простите, да, неправильно скопировано :/
Где вы устанавливаете свою рамку?
@EmreÖnder Я попытался установить радиус сразу после установки рамки, но это не сработало. у вас есть решение для этого?
Не могли бы вы попробовать это в layoutSubviews





Почему бы вам не попробовать добавить родителя UIView для вашей метки, которая будет содержать цвет фона и угловой радиус. Затем сохраните свойства тени для метки
class setShadowOnLabel: UILabel
{
override func layoutSubviews()
{
self.layer.cornerRadius = 5
self.layer.shadowColor = UIColor.lightGray.cgColor
self.layer.shadowOffset = CGSize(width: 0.0, height: 0.2)
self.layer.shadowOpacity = 0.80
self.layer.shadowRadius = 5.0
self.layer.masksToBounds = false
}
}
label.layer.borderWidth = 0.2
label.layer.borderColor = UIColor.clear.cgColor
label.layer.shadowColor = UIColor.gray.cgColor
label.layer.shadowOffset = CGSize(width: CGFloat(1.0), height: CGFloat(2.0))
label.layer.shadowRadius = 1
label.layer.shadowOpacity = 0.8
label.layer.cornerRadius = 5.0
label.layer.masksToBounds = false
Это
label label = UILabel()илиlet label = UILabel()?