2011-07-18 11 views
0

私はiPadアプリを開発しています。カスタムGUIクラスを初期化するにはどうしたらいいですか?

次の問題が発生しました。 UIScrollViewの「カスタムクラス」を作成しました。したがって、私のnibファイルでは、デフォルトのUIScrollViewを追加し、​​をに設定しました。MultiSelectView(私が作成したカスタムクラスです)。スクリーンショットhere

だから私のMultiSelectView私は使用したいいくつかの方法を追加しました。これは動作します!

問題は、私がこれらのメソッドで必要とする特定のオブジェクトをどのように初期化できるかということです。 - (id)initWithFrame:(CGRect)frame {}が呼び出されておらず、どちらも- (void) viewDidLoad {}ではないようです。

したがって、カスタム(GUI)クラスを初期化する方法はありますか?

答えて

2

.xibファイルからビューをアーカイブ解除すると、お気づきのように、-initWithFrame:は送信されません。代わりに、-initWithCoder:が送信されます。

したがって、カスタム初期化が必要な.xibファイルにUIViewサブクラスがある場合は、-initWithCoder:-initWithFrame:をオーバーライドする必要があります。あなたがinitWithCoderを必要とするよう

+0

Tnx! '-initWithCoder:'メソッドを実装することはやりました。 – Jules

1

が見えるオブジェクトがNIB

または、より良い、awakeFromNibからロードされたとき、それが呼び出されます。違いは、すべてのコンセントが接続されているときにawakeFromNibが呼び出されることです。

関連する問題