web-dev-qa-db-ja.com

ストーリーボードにカスタムUIControlクラスを追加するにはどうすればよいですか?

ストーリーボードで使用したいカスタムUIControlクラスがあります。ストーリーボードコンソールのオブジェクトライブラリにUIControlがないため、問題が発生しています。

UIViewを追加してカスタムUIControlクラスを割り当てようとしましたが、コントロールで使用するために必要なイベント(値の変更、タッチドラッグインサイド、タッチアップインサイド)が登録されていないようです。

デバッグ時に、イベントに関連するアクションにブレークポイントを設定しましたが、呼び出されていないようです。

ストーリーボードでカスタムUIControlクラスを正しく使用するにはどうすればよいですか?

24
3254523

正しく実行しています。ストーリーボードにUIViewをドロップし、IdentityInspectorでクラスを割り当てます。カスタムクラスのinitWithCoder:aDecoderをオーバーライドすることを忘れないでください。

33
memmons

さて、私が最近理解したように、サードパーティのライブラリを介してカスタムコントロールを使用する必要があるときはいつでも、次のことを行う必要があります。-InterfaceBuilderを介してプロジェクトに追加する必要があるTwicketSegmentedControl UIControlクラスの例を見てください。

1. Drag UIView to your Design file 
2. Replace default  'class name' in Identity Inspector of this Control from UIView to 
   TwicketSegmentedControl

3.(Important step) Also Assign 'Module Name' below 'class name'  in Identity Inspector to TwicketSegmentedControl.

それでおしまい。完了。

次に、ファイルでIBOuletを使用してアクセスします。

また、その他の問題については、コードをデバッグする必要がある場合に、ライブラリファイルで-initWithCoderが呼び出されているかどうかを確認してください。

0
Vinod Supnekar