1

MyView 1 と MyView 2 の 2 つの ViewController を使用して、MyView1.m から MyView2 にサブビューを追加することはできますか?

私が試してみました:

MyView2 * screen = [[MyView2 alloc]initWithNibName:nil bundle:nil];
[screen.view addSubView:mySubView];

しかし、MyView 2 の私の新しいインスタンスは、MyView2 の「目に見える」ViewController に接続されていませんよね?

明確にするために、表示されているViewControllerはMyView1です。MyView1 がサブビューを MyView2 ビューに追加できるようにします。

ありがとう

4

4 に答える 4

2

viewControllers とビューを混同していると思います。または、少なくともあなたの質問はそうです。多分それはあなたが探しているこのようなものです -

MyViewController2 *myViewController2 = [[[MyViewController2 alloc] initWithNibName:nil bundle:nil] autorelease];

[myViewController2.view addSubView:mySubView];
// add any other views to myViewController2's view

[self.view addSubView:myViewController2.view]; // adding the view to VC1's view

MyViewController1 全体に何かを追加し続けたい場合は、myViewController2 またはそのビューを保持プロパティとして宣言する必要があります。

于 2012-04-16T11:37:08.440 に答える
1

MyView1コントローラーにアプリ内の共通オブジェクトに情報を保存させて、MyView2が再表示されたときに、必要に応じてサブビューをビューに追加できるようにすることができます。

于 2012-04-15T23:26:23.030 に答える
0

これを試して、

[MyView1.view addSubView:MyView2];
[self.view addSubview:MyView1];
于 2012-04-16T10:47:28.993 に答える
0

MyView2 が UIViewController のサブクラスであると仮定するとaddSubView:、viewcontroller 自体にメソッドはありません。代わりに、次のように、ビュー コントローラーの に subView を追加しますview

[screen.view addSubview:mySubView];
于 2012-04-15T22:46:19.243 に答える