0

ビューが表示されるたびに、いくつかのデータをビューにロードする必要があります。ビューが表示されるたびにデータが変化するので、viewDidAppearメソッドでデータをロードできると思います。残念ながら、ビューが表示されるたびにviewDidAppearが呼び出されないことがわかりました。

他のビューからのビューを表示するコードは...です。

[self clearView];
[self.view insertSubview:fifthViewController.view atIndex:4];

だから私はviewDidAppearを実行するためにそれを次のように変更できると思いました...

[[self.view insertSubview:fifthViewController.view atIndex: 4 viewDidAppear:YES];

残念ながら、これにより「不正なレシーバータイプ'void」というエラーが発生します。

サブビューを挿入し、viewDidAppearを呼び出すには、何をする必要がありますか?

4

2 に答える 2

0

この質問にご協力いただきありがとうございます。サブビューを挿入するメソッドにviewDidAppearを追加することにしました。

以下は、現時点で私のために働いているコードです。

最高レベルのViewControllerの.mファイルで、次のコードはviewDidAppear呼び出しを設定してから、5番目のサブビューを挿入します。

-(IBAction) loadFifthView:(id)sender
{

[fifthViewController viewDidAppear:YES];  // sets up viewDidAppear


[self clearView];
[self.view insertSubview:fifthViewController.view atIndex:4];


}

上記のコードスニペットを配置すると、5番目のView Controllerの.mファイルにある次のコードスニペットは、機能していることを報告します。

- (void)viewDidAppear:(BOOL)animated
{

NSLog(@" xxxxxxxxxxxxxxxx  inside viewDidAppear ");


}
于 2012-07-28T23:50:30.033 に答える
0

可視性を直接変更してビューを表示するViewController.viewと、それによるメッセージは表示されませんviewDidAppearViewControllerビューを表示するには、メソッドを使用する必要があります。たとえば、コントローラーをメソッドにプッシュしUINavigationControllerたり、メソッドを使用したりしpresentModalViewControllerます。viewWillAppear:電話や手動のようにハックを使用できますviewDidAppear:が、私はそのアイデアが好きではありません。

于 2012-07-28T03:11:40.833 に答える