自定义UIView的最大问题是我们所看到的只是XIB中的白色矩形。
我们根本无法自定义某些属性。例如,如果我们的自定义子视图有一个标签,那么能够在XIB中直接为该标签设置文本是很好的。
像UIButton这样的东西。
这是否可行?
XIB设计仅仅是短切,真实代码是代码吗?
答案 0 :(得分:3)
不幸的是,没有真正的方法在Interface Builder“Attributes Inspector”面板(捕获中的那个)中添加条目,以允许您像内置Cocoa类一样自定义值。
(确切地说,一些博客解释了一些将旧的Xcode3插件转换为Xcode3插件的方法 - 但这不是正式记录的,并且设置需求非常复杂一个专门的Xcode项目,只是为了创建你的自定义视图,声明它的IB调色板,编写一些关联代码并将其嵌入到xcode插件中......)
但是,你仍有一种可能性,即使它不是很方便,也可以在Interface Builder中自定义XIB中任何对象的任何属性,而不是通过代码来实现。
只需进入“Identity Inspector”(Attributes Inspector之前的选项卡, Cmd-Alt-3 )并使用“用户定义的运行时属性”表填充名称/密钥路径您想要更改的属性并指明其值。
在实践中,我很少看到它在我使用的XIB文件中使用,因为它不如专用的“Attributes Inspector”调色板那么好,你必须输入 exact 名称表中的属性,所以你可以影响它的值:没有为你构建的可修改属性列表,在面板中提供了很好的文本字段和复选框来帮助你......但它仍然像魅力一样!
请随时向Apple发送请求(使用他们的反馈工具)来请求此功能,因为您不是第一个希望这可能的人,并且不会是最后一个请求它,所以也许希望Apple能收到足够的请求,他们会实施它......
答案 1 :(得分:1)
是的,这是可能的。
首先,在自定义视图中添加以下属性(猜测您使用ARC功能):
@property(nonatomic, strong) IBOutlet UILabel myLabel;
现在,在您的xib中,确保主视图是您的自定义视图的类型。 在视图中添加标签。 单击自定义视图,然后使用连接检查器将标签链接到myLabel。
答案 2 :(得分:0)
故事板/笔尖显示代码运行前界面的样子。如果你想在故事板中看到它,你必须在故事板中构建它。如果您有自定义对象,则在故事板中有一个基本对象可用作占位符,但它不会显示在代码中加载的内容。