私はドロップダウンボタンクラスの種類を開発しました。IBまたはサブクラスUIViewを使用する必要があります
これをDDButtonとしましょう。
-(void) addButtonWithImage:(UIImage*)image andTarget:(id)target andSelector:(SEL)selector
ユーザーがドロップダウンに別のボタンを追加することができます: 私は主に一つの関数をエクスポートします。
私のアプリの別の画面でDDButtonを使用する必要があります。
私が好きそれを使用したいと思います:
DDButton* ddb = [[DDButton alloc] initWithFrame:rect];
[ddb addButtonWithImage....]
[ddb addButtonWithImage....]
私はどのように私はそれを実装する必要があり前のUIViewをサブクラス化したことがないので、私の質問は、どのように私は後でそれを使用する必要がありますか?
私はIBを使用し、アイデンティティペインのDDButtonに接続するスタブUIViewを作成しますか?もしそうなら、後ほどビューをどのようにインスタンス化するか正確に。
または UIViewをサブクラス化しますか?もしそうなら、どのメソッドをオーバーライドすべきですか?イニシャライザで自分のボタンをセットアップしましたか? LayoutSubViewで? drawRectで?
私はここで最善のアプローチを聞いてみたいと思います。 ありがとう!
編集
のは、私はIBの方法を選択しましょう:私はちょうどそのボタンに「追加」、()を呼び出しますaddButtonWithImageに実際にすべてのコールを、私は関係なく、 addButtonWithImageの設定メインボタンがあります。他のボタンが追加され、ビューが適切に拡大されるまで、メインボタンをビューのサイズにしたい。しかし、私はビューのサイズを最初にユーザーが選択する必要があります... setFrameを使用すると思います。 awakeFromNibでの意味私はまだフレームサイズを数えることはできません(それは私が想定しているxibサイズをとるだけです)。だからどこで私のメインボタンをセットアップするのですか? LayoutSubView? setFrame?よく分かりません。
私の編集を参照してください。 thx – Idan
おそらくsetFrame: – ughoavgfhw