#objective-c #cocoa-touch #ios
#objective-c #cocoa-touch #iOS
Вопрос:
Я новичок в разработке iPhone, и у меня возникли проблемы при попытке реализовать UINavigationController.
Я реализовал ViewController следующим образом:
@interface FirstViewController : UITableViewController <UIActionSheetDelegate> {
IBOutlet UITableView *table;
/* added later but it dont know what to do to show it first*/
IBOutlet UINavigationController *navigationController;
}
@end
Этот TableView работает хорошо. Но я хочу обернуть вокруг контроллера навигации, чтобы иметь возможность отображать следующий вид после щелчка по строке.
Проблема в том, что я не понимаю, что мне делать с файлом NIB. У меня есть drag-n-dropped там UIViewController — но я не могу установить его как view. Потому что я не могу перетащить соединение из представления владельца файла в UIViewController. Что я должен сделать, чтобы это выглядело как таблица в навигации, а не как обычная таблица.
Ответ №1:
UINavigationViewController будет владеть UITableViewController. Таким образом, AppDelegate настроит UINavigationViewController, а затем верхняя часть стека начнется как ваш контроллер представления таблицы.
Комментарии:
1. Итак, как сделать так, чтобы ‘UINavigationViewController был владельцем UITableViewController’ ? Должен ли я изменять наследование FirstViewController? Спасибо.
Ответ №2:
в вашем tableView:didSelectCellAtIndexPath:
методе создайте новый контроллер, затем вставьте его в свой навигационный контроллер.
[self.navigationController pushViewContrller:controller animated:YES];
затем отпустите контроллер, потому что навигационный контроллер сохраняет его.
[controller release];
Комментарии:
1. это сработает, только если ваш навигационный контроллер настроен как представление Windows