我想在IB designable UIImageView
中加载一张样例图片,在编辑界面时在Interface Builder中展示。以下代码无效,因为IB中的视图占位符仍然为空(视图区域仅包含UIImageView文本):
@IBDesignable
class TestImageView : UIImageView
{
override func prepareForInterfaceBuilder() {
//let bundle = NSBundle.mainBundle()
let bundle = NSBundle(forClass: nil)
let imagePath = bundle.pathForResource("Test", ofType: "jpg")
self.image = UIImage(contentsOfFile: imagePath)
}
}
请注意:
- 在 IB 中,视图的自定义类(Custom Class)是正确的(TestImageView)。
- Test.jpg 存在于项目中(如果我在 IB 中手动设置
UIImageView
的图像属性,则图像会显示出来)。 - 我尝试了两种不同的获取代码中存在的 bundle 的方法。
这是使用 Xcode 6 beta 3 进行测试的。
更新: 在两种情况下,我得到的 bundle 路径都是 "/Applications/Temporary/Xcode6-Beta3.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Xcode/Overlays"
。在该路径下,显然不存在该图像。