これを行う方法はありますか?私はClass Identity
を設定するだけでなく、設計されたクラスを変更したいので(オブジェクトプロパティが変わるはずです)。Xcode Interface Builder:既に配置されたオブジェクトのクラスを変更します
私はUIView
と多くのサブビューを配置したからです。今度はそれをUITableViewCell
に変更したいと思います。おそらく、xibファイルを「ハッキングする」ことによって行うことができますか?
これを行う方法はありますか?私はClass Identity
を設定するだけでなく、設計されたクラスを変更したいので(オブジェクトプロパティが変わるはずです)。Xcode Interface Builder:既に配置されたオブジェクトのクラスを変更します
私はUIView
と多くのサブビューを配置したからです。今度はそれをUITableViewCell
に変更したいと思います。おそらく、xibファイルを「ハッキングする」ことによって行うことができますか?
残念ながら、私は見つけたInterfaceBuilderでこれを行う方法はありません。カスタムクラスを変更するだけで、UIViewを必要なクラス(たとえばUITableViewCell)に変更するのではなく、目的のビューが持つ可能性があるすべてのプロパティを持たせることで、UIViewにカスタムクラスが追加されます。これはストーリーボードの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属性を更新しています。
先に説明したければ、それでも入手できますが、要素のIDを同じにしてxmlファイルを自分で編集する必要があります。ここではこれをより詳しく説明する素晴らしいブログ記事があります:http://codenetwaves.blogspot.com.br/2012/09/change-view-to-scrollview-in-xcode.html
インターフェイスビルダーでは、3番目のタブを開いてカスタムクラスを検索します。そこではUIViewをUITableViewCellに変更することができます
このフィールドはカスタムクラスをコードで定義します。 Interface Builderのオブジェクトプロパティには影響しません。 – brigadir
次に、ウィンドウのコンテンツサイズを大きくし、tableviewcellを作成し、ビュー内のすべてのオブジェクトをtableviewcell内にドラッグすることができます –
また、これはここで質問された質問と重複していることに注意してください。http:// stackoverflow .com/questions/10724488/update-uiview-class-in-interface-builder – lillialexis
私が思うこのアプローチを使うのはずっと安全です:http://stackoverflow.com/a/36573454/1366265 – user1366265