2

UIViewControllerに複雑なビュー階層がある場合、他の場所で再利用できない場合でも、メイン ビューを独自のクラスに分解するのが適切なのはいつでしょうか? そして、私がそれを行うとしたら、そのビューのボタンに対する適切なイベント処理アプローチは何でしょうか? addTarget をボタン プロパティに直接追加するか、ビュー クラスを介して委譲しますか?

常に別のビュー クラスを作成する必要があるかどうかについて、同僚と長時間議論しています。

(この説明のために、NIB ファイルは何としても避けたいと仮定しましょう。)

4

2 に答える 2

0

1 つのビュー コントローラーに対して個別のビューを作成できます。特定の条件に基づいて特定のビューをロードする場合は、1 つのカスタム init メソッドを使用して、ビューをビュー コントローラーにロードすることができます。

- (id)initWithView:(UIview *)view {

self = [super init];

if(self) {

    [self setView:view];
}

return self;

}

また、ビューに異なるボタンがある場合は、そのビュー自体にボタン アクション メソッドを記述できます。これらのアクションをビューコントローラーに取得するには、ビューにプロトコルを記述し、ビューコントローラーインスタンスを設定して、ビューコントローラーでこれらのプロトコルメソッドを委任および実装します。アクションを区別するために、各ボタンにタグを設定し、それに応じてView Controllerで適切なアクションを実行できます。

于 2013-03-14T17:45:05.127 に答える