2012-09-28 39 views
14

有没有办法做到这一点?我不仅要设置Class Identity,而且要改变设计类(所以对象属性应该改变)。XCode Interface Builder:更改已放置对象的类

原因是我放置了UIView和很多子视图。现在我想将其更改为UITableViewCell。也许这可以通过'黑客'xib文件来完成?

回答

13

不幸的是,疯狂地,在InterfaceBuilder(我发现)中没有办法做到这一点。更改自定义类只是向UIView添加一个自定义类,而不是将UIView更改为您希望它的类(例如,UITableViewCell),从而带来所需视图可能具有的所有属性。你可以在故事板的XML文件中看到它。

你想,说,这:

<label text="Label" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" ... id="Flb-Qd-jpJ"> ... </label> 

,而不是这样的:

<view ... id="Flb-Qd-jpJ" customClass="UILabel"> ... </view> 

但Xcode是只给你后者;它正在更新视图的customClass属性,而不是更新整个元素。

如果你想要先前,你仍然可以得到它,但你必须自己编辑xml文件,保持元素的id相同。以下是一篇很好的博客文章,详细解释了这一点:http://codenetwaves.blogspot.com.br/2012/09/change-view-to-scrollview-in-xcode.html

+0

另外,应该注意的是,这是一个重复的问题,在这里询问:http:// stackoverflow .com/questions/10724488/update-uiview-class-in-interface-builder – lillialexis

+0

使用这种方法我认为更安全:http://stackoverflow.com/a/36573454/1366265 – user1366265

-1

在界面构建器中,您将打开第三个选项卡并找到自定义类。在那里你可以改变UIView到一个UITableViewCell

+1

此字段在代码中定义自定义类。它不会影响Interface Builder中的对象属性。 – brigadir

+0

然后您可以增加窗口的内容大小,创建tableviewcell并将视图内的所有对象拖到tableviewcell内 –

相关问题