Вы можете сделать это в раскадровке, используя определяемые пользователем свойства. Выберите представление, которое вы хотите округлить, и откройте его Инспектор идентичности. В разделе Пользовательские атрибуты среды выполнения добавьте следующие две записи:
- Путь к ключу:,
layer.cornerRadius
Тип: Число, Значение: (любой радиус, который вы хотите)
- Путь к ключу:,
layer.masksToBounds
Тип: Boolean, Значение: проверено
Возможно, вам придется импортировать QuartzKit
соответствующий файл класса вашего представления (если таковой имеется), но я клянусь, что я заставил его работать без этого. Ваши результаты могут отличаться.
РЕДАКТИРОВАТЬ: Пример динамического радиуса
extension UIView {
/// The ratio (from 0.0 to 1.0, inclusive) of the view's corner radius
/// to its width. For example, a 50% radius would be specified with
/// `cornerRadiusRatio = 0.5`.
@IBDesignable public var cornerRadiusRatio: CGFloat {
get {
return layer.cornerRadius / frame.width
}
set {
// Make sure that it's between 0.0 and 1.0. If not, restrict it
// to that range.
let normalizedRatio = max(0.0, min(1.0, newValue))
layer.cornerRadius = frame.width * normalizedRatio
}
}
}
Я убедился, что это работает на детской площадке.