Storyboard中有一项新功能,允许在Storyboards中呈现自定义UIViews。有人记得怎么做吗?
答案 0 :(得分:3)
查看"界面生成器中的新功能"和#34; Xcode 6"中的新内容,或者在Apple文档中查找@IBDesignable
和@IBInspectable
。
In"界面生成器中的新功能" https://developer.apple.com/videos/wwdc/2014/他们在Swift中执行示例,如果您想在Objective-C中执行此操作,则使用等效的IB_DESIGNABLE
和IBInspectable
。这是文档:
答案 1 :(得分:1)
首先 - 将CocoaTouch框架目标添加到您的项目中。
第二 - 在框架目标中创建自定义视图类,类.h文件应该用IB_DESIGNABLE(对于类)和IBInspectable(对于可以在Interface Builder中更改的属性)进行修饰。 e.g。
IB_DESIGNABLE
@interface CustomView : UIView
@property (nonatomic) IBInspectable NSString *promptText;
@property (nonatomic) IBInspectable CGFloat borderWidth;
@end
第三步 - 转到Interface Builder并将UIView添加到故事板,然后将其更改为自定义视图。
我发现(困难的方法)是,如果您不是从自定义视图中的大量现有代码开始,而是逐步构建它,同时查看Interface Builder窗口并选择自定义视图和自定义类,那就更好了在Utilities窗口中打开的选项卡 - 有“Designables”绿色或红色按钮,它将告诉IB是否无法为自定义视图呈现实时预览,您的框架将在框架类中的每次保存时自动编译。
管理以在IB实时视图中获取UIImages / UIImageViews渲染需要额外的工作 - 请参阅https://devforums.apple.com/message/1002168如何获取IB实时预览的图像资源。