繁体   English   中英

如何在Interface Builder(Xcode)中添加自定义控件

[英]How to add custom controls in Interface Builder (Xcode)

所以我创建了一个继承自UIView的自定义控件,我想在Interface Builder中使用它。 我知道我可以添加一个UIView并将其类名设置为我的自定义控件类名,但它只出现在运行时; 在界面构建器中,它只是一个常规的UIView。 我想在界面构建器中处理UI时看到控件。

谢谢

Xcode 6添加了一种支持,用于放置和预览自定义控件。 请参阅关于“创建在Interface Builder中呈现的自定义视图”的官方Apple文档: https//developer.apple.com/library/ios/recipes/xcode_help-IB_objects_media/chapters/CreatingaLiveViewofaCustomObject.html

简答:你做不到。 (2015年4月14日更改:见末尾编辑)

Xcode 3用于支持接口构建器插件,但他们在Xcode 4中删除了它,并且从我读过的内容中,它不会再添加它。

您还无法查看/查看自定义UIView子类的自定义出口/属性。

但是有一种设置这些属性的方法。 选择自定义视图对象,选择标识检查器,然后查找标题为“用户定义的运行时属性”的部分。 虽然您可以指定的数据类型数量有限,但您可以在此处向视图的属性或子属性添加KVC密钥路径引用。 此外,如果密钥路径在运行时不是有效的KVC引用,则程序将崩溃,并且会出现一个神秘的,难以发现的错误,即“对象MyCustomView与键foo不符合键值”。 如果您忘记了设置用户定义的运行时属性,您可以将头发拉出数小时,试图找出错误的来源。

编辑:(2015年4月14日)

在Xcode 6中,Apple添加了一个新的IBDesignable属性,您可以将其添加到自定义UIView类(或Mac OS上的NSView类)中,以便在IB编辑器中直接显示视图。 还有一个IBInspectable属性,可让您从IB查看和编辑视图的某些属性。 这就像我们自Xcode 4.0以来的“用户定义的运行时属性”选项,但更清晰,因为它向您显示了您可以更改的属性,而不是您必须键入KVC键,并且如果您冒着崩溃您的应用程序的风险弄错了。 但是,您只能指定非常有限数量的类型(字符串/本地化字符串,数字,颜色,布尔值,点,大小,矩形,范围,图像或零值)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM