質問

現在、タブの1つにNavigationControllerが設定されたTab Bar Controllerがあり、そのNavigationcontrollersビューにUITableViewペン先が設定されています。これらはすべてIBを介して設定されているので、そのままにしておきます。このようなチュートリアルの種類 http://twilloapp.blogspot .com / 2009/05 / how-to-embed-navigation-controller.html  これで、ViewDidLoadが呼び出されたときにビューが完全にロードされます。しかし、その後、コードIEを介してさらにビューをロードすると

MyApp_AppDelegate *delegate = [[UIApplication sharedApplication] delegate];

UINavigationController *nav = (UINavigationController *)delegate.controller.selectedViewController;

newViewController = [[newViewController alloc] initWithNibName:@"newView" bundle:nil];

[nav pushViewController:newViewController animated:YES];

//At this point the view works! and loads

ナビゲーションツールバーを使用して戻ると、前のビューに戻ります 今、戻ったときにTableViewを更新する必要がありますが、 viewDidAppear の呼び出しは機能しません。

Tableviewと同じ ViewController クラスに UINavigationDelegate を追加し、-(void)navigationController:(UINavigationController *)navigationController didShowViewController:

しかし、それはうまくいきませんでした。また、Tab Bar Controllerと同じデリゲートを追加して、同じ navigationController didShowViewController:を追加しようとしましたが、それも失敗しました。

ビューがロードされるたびにこのテーブルを更新するにはどうすればよいですか

役に立ちましたか?

解決 2

Found Interfaceファイルにデリゲート宣言がありませんでした。ドッ!また、多くの場所で、NavigationControllersの最初のビュー(テーブルビュー)に追加したときにのみ機能することを試みました。

他のヒント

コードから viewDidAppear を呼び出す必要はありません。 Cocoa Touchはあなたのためにそれをするべきです。

テーブルビューの reloadData メソッドを呼び出して、コンテンツを更新します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top