Хммм, ну, это немного сложно, не зная деталей вашей реализации - я предположил, что вы реализовали свой контроллер навигации, как в связанной статье.Кроме того, хотя вы не сообщаете подробностей, похоже, что вы добавили контроллер табличного представления где-то вдоль линии, поэтому я заставил UIViewController соответствовать протоколам UITableView для обработки всего в одном месте:
@interface SOViewController : UIViewController
<<code>UITableViewDelegate,UITableViewDataSource > {
UINavigationController* navController;
}
- (IBAction) pushMe:(id)sender;
@end
Я опустил кнопку в представлении SOViewController в IB и связал с ним действие pushMe :.Я также создал еще один класс на основе UIViewController под названием JunkController
и удалил ярлык «Нежелательный» в его представлении в IB - это все, что я делал в IB.В viewDidLoad объекта SOViewController:
navController = [[[UINavigationController alloc] init] retain];
navController.navigationBar.barStyle = UIBarStyleBlackOpaque;
navController.toolbarHidden = YES;
UITableViewController* tvController = [[UITableViewController alloc] init];
UITableView* tv = [[UITableView alloc] init];
tvController.tableView = tv;
tv.delegate = self;
tv.dataSource = self;
[navController setViewControllers:[NSArray arrayWithObject:tvController]];
В реализации действия pushMe::
[self presentModalViewController:navController animated:YES];
Реализованы методы делегата tableView и источника данных;для выбора:
- (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"row selected");
JunkController* junk = [[JunkController alloc] initWithNibName:@"junkcontroller" bundle:nil];
[navController pushViewController:junk animated:YES];
[junk release];
}
Это должно привести к появлению приложения, которое отображает экран с помощью кнопки «Нажми меня».Когда эта кнопка нажата, вы должны получить анимированное модальное навигационное табличное представление - у меня была одна строка с надписью «выберите меня».Прикосновение к этой строке должно оживить нежелательный контроллер.