0

UIViewをもう 1 つの上に表示したいUIView。子ビューに独自のUIViewController. これは可能ですか?

したがって、子ビューにボタンを追加できるはずです。

UIButton *closeButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
...
[closeButton addTarget:self action:@selector(closeMe) forControlEvents:UIControlEventTouchUpInside];

closeMe 子ビューの ViewController のメソッドです。

私のテスト コードでは、ユーザーが閉じるボタンをタップすると、親ビューの ViewController にcloseMeメソッドがないため、未定義のセレクターでクラッシュします。

編集:

申し訳ありませんがcloseMe、例としてのみメソッドを言及しました。この子ビューでサポートする必要があるメソッドは他にもたくさんあります (ビューの回転を処理するなど)。独自の ViewController を持つ子ビューの私の目標は、カプセル化することです。

4

4 に答える 4

1

->UIViewのサブクラスであるカスタムビューを使用してChildViewを作成します。
->このカスタムビューを子ビューとしてビューに追加します
->次に、を使用Protocolしてタスクを実行します。

于 2013-03-18T05:31:58.143 に答える
0

ビューコントローラとビューには並列階層があります。ビューコントローラを相互の子として追加できます。親ViewControllerは、子View Controllerをロードしてから、子ViewControllerのビューを独自のビューにインストールできます。

UIViewController  --→  UIView
       ↑                 ↑
       | parent vc       | superview
       |                 |
UIViewController  --→  UIView

ただし、サブビューを追加するだけの場合は、子ビューコントローラは必要ない場合があります。

于 2013-03-18T06:57:11.260 に答える
0

modalViewを作成しようとしているように傷つきますか?

modalViewsの簡単な例を次に示します。http://timneill.net/2010/09/modal-view-controller-example-part-1/

また、すべてのviewControllerをNSMutableArrayにポップし、そのプロパティ(非アトミック、保持)を作成して、階層的な手段を使用してアプリのほぼどこからでも簡単にアクセスできるようにします。

于 2013-03-18T05:41:11.130 に答える
0

子ビューはカスタムビューだと思います。そうすれば、デリゲート/プロトコルを使用できます。別のViewControllerは必要ありません。

これをチェックして

于 2013-03-18T05:41:34.270 に答える