Ви можете це зробити на дошці розкадрування, використовуючи визначені користувачем властивості. Виберіть подання, яке ви хочете округлити, і відкрийте його інспектор ідентичності. У розділі Атрибути часу виконання, визначені користувачем , додайте наступні дві записи:
- Основний шлях:,
layer.cornerRadius
Тип: Число, Значення: (незалежно від радіусу)
- Ключовий шлях:,
layer.masksToBounds
Тип: логічне значення, значення: відмічено
Можливо, вам доведеться імпортувати QuartzKit
у відповідний файл класу вашого перегляду (якщо такий є), але я клянусь, що я змусив його працювати, не роблячи цього. Ваші результати можуть відрізнятися.
EDIT: Приклад динамічного радіуса
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
}
}
}
Я перевірив, що це працює на дитячому майданчику.