私は C# と Winforms の世界から来ており、カスタム UserControl を構築し、それを共通のコントロールであるかのようにフォームにドラッグできます。XcodeとInterface Builderでそれを行う方法はありますか?
実行時にビューを設定する方法しか見たことがありませんが、デザイン時にウィンドウに表示したいと思います。たとえば、カスタム ビューが使用可能なコントロールにリストされることを期待します。
ありがとう!
サイモン
私は C# と Winforms の世界から来ており、カスタム UserControl を構築し、それを共通のコントロールであるかのようにフォームにドラッグできます。XcodeとInterface Builderでそれを行う方法はありますか?
実行時にビューを設定する方法しか見たことがありませんが、デザイン時にウィンドウに表示したいと思います。たとえば、カスタム ビューが使用可能なコントロールにリストされることを期待します。
ありがとう!
サイモン
Interface Builderは、オブジェクト ライブラリにカスタム オブジェクトを追加しません (または、IB プラグインが遺棄されたため、追加を許可します)。既存/プリセット オブジェクトをドラッグすることしかできませんが、同じ方法でインスタンス化されている限り、サブクラスのインスタンスとして IB にインスタンス化させることができます。
たとえば、カスタム ビューでドラッグしてクラスを に設定する MyCustomViewClass
か、スクロール ビューでドラッグしてクラスを に MyCustomScrollView
設定し、オブジェクトをドラッグしてクラスを に設定します CustomObject
。
これは、Interface Builder でカスタム コントロールを使用する場合に推奨される方法です。
IB で作成するすべてのウィンドウには、最初のサブコンポーネントとしてビューがあります。別のカスタム ビューを作成する必要はありません。本当にサブクラス化している場合は、インスペクターでクラス名を変更するだけです。
基本的には rdelmar のコメントをはぎ取っただけですが、写真が役立つと思いました
通常のビューを IB にドラッグし、それを選択してこれを行います。
このスレッドでカスタム ビューの名前をビュー コントローラーのファイルに追加することについて言及されていることに加えて、カスタム ビューでオーバーライドXIB
する必要があります。 initWithCoder