我正在通过子类化UIView
和使用@IBInspectable
我的一些变量来实现自定义视图。其中两个是 UIImage。如果我尝试在代码中访问其中一个,界面构建器会崩溃并显示以下消息:
file:///PathToMyProject/MyProject/Pod/Classes/UI/View/MyView.xib: error: IB Designables: Failed to update auto layout status: The agent crashed
和
file:///PathToMyProject/MyProject/Pod/Classes/UI/View/MyView.xib: error: IB Designables: Failed to render instance of MyView: The agent crashed
一切在模拟器和设备上运行良好。以下是如何重现它,假设image_one.png
在资产中:
import UIKit
@IBDesignable
class MyView: UIView {
@IBInspectable
var anImage: UIImage = UIImage(named: "image_one")!
}
事实上,界面构建器代理在初始化此变量时会崩溃。如果您写入var anImage: UIImage! = UIImage(named: "image_one")
,则代理在访问此变量时会崩溃(如上所述)。
有任何想法吗?