【问题标题】:XCode Interface Builder: Change class of already placed objectXCode Interface Builder:更改已放置对象的类
【发布时间】:2015-02-20 18:07:32
【问题描述】:

有办法吗?我不仅要设置Class Identity,还要更改设计的类(因此对象属性应该更改)。

原因是我放了UIView和很多子视图。现在我想把它改成UITableViewCell。也许可以通过“破解”xib文件来完成?

【问题讨论】:

    标签: xcode uiview interface-builder


    【解决方案1】:

    不幸的是,令人抓狂的是,在 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

    【讨论】:

    【解决方案2】:

    在界面生成器中,您将打开第三个选项卡并找到自定义类。在那里您可以将 UIView 更改为 UITableViewCell

    【讨论】:

    • 此字段在代码中定义自定义类。它不会影响 Interface Builder 中的对象属性。
    • 然后你可以增加窗口的内容大小,创建tableviewcell并将视图内的所有对象拖到tableviewcell内
    猜你喜欢
    • 1970-01-01
    • 2013-02-15
    • 1970-01-01
    • 2011-06-13
    • 1970-01-01
    • 1970-01-01
    • 2016-01-05
    • 2010-12-06
    • 1970-01-01
    相关资源
    最近更新 更多