将自定义UIView渲染到故事板

时间:2014-07-11 17:52:03

标签: ios xcode storyboard

Storyboard中有一项新功能,允许在Storyboards中呈现自定义UIViews。有人记得怎么做吗?

2 个答案:

答案 0 :(得分:3)

夫特:

查看"界面生成器中的新功能"和#34; Xcode 6"中的新内容,或者在Apple文档中查找@IBDesignable@IBInspectable

目标C:

In"界面生成器中的新功能" https://developer.apple.com/videos/wwdc/2014/他们在Swift中执行示例,如果您想在Objective-C中执行此操作,则使用等效的IB_DESIGNABLEIBInspectable。这是文档:

https://developer.apple.com/library/prerelease/ios/recipes/xcode_help-IB_objects_media/CreatingaLiveViewofaCustomObject.html

答案 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实时预览的图像资源。