Подробнее
Я смотрел видео Session 411 на WWDC 2014, ссылаясь на " Что нового в Interface Builder", и я пытался создать Frameworks для того, чтобы создайте классы @IBDesignable
, чтобы просмотреть мои изменения в Storyboard без необходимости запуска приложения.
@IBInspectable
свойства отображаются корректно, когда я добавляю свой класс в определенное представление и правильно отображают представление с помощью приведенного ниже кода:
код
@IBDesignable
class MyView: UIView {
@IBInspectable var borderColor: UIColor = UIColor.clearColor() {
didSet {
layer.borderColor = borderColor.CGColor
}
}
@IBInspectable var borderWidth: CGFloat = 0 {
didSet {
layer.borderWidth = borderWidth
}
}
@IBInspectable var cornerRadius: CGFloat = 0 {
didSet {
layer.cornerRadius = cornerRadius
}
}
@IBInspectable var masksToBounds: Bool = false {
didSet {
layer.masksToBounds = masksToBounds
}
}
}
Журнал
Я заметил, что эти атрибуты добавляются в Атрибуты, определенные пользователем (в Identity Inspector). Теперь, что я ожидаю от этого, когда я запускаю код, чтобы сохранить эти изменения, которые я сделал с определенным представлением.
Я запускаю приложение, и представление не загружает Пользовательские атрибуты времени выполнения и дает эту ошибку на выходе (не сбой):
Unknown class MyClass in Interface Builder file
Failed to set (cornerRadius) user defined inspected property on (UIView)
Вопрос
Что заставляет приложение не загружать Пользовательские атрибуты времени выполнения, которые я добавил в Identity Inspector?