Итак, у меня есть приложение на основе представления, в котором мне нужна одна страница с табличным представлением, и я хотел, чтобы панель навигации над ней возвращалась. Я добавил это программно с помощью:
-(IBAction)switchToTableView; {
tableView *table = [[tableView alloc] initWithNibName:@"tableView" bundle:nil];
UINavigationController *navControl = [[UINavigationController alloc] initWithRootViewController: table];
table.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[table release];
[self presentModalViewController: navControl animated:YES];
[navControl release];
}
Затем в viewDidLoad класса tableview я реализовал:
- (void)viewDidLoad
{
self.tableView.rowHeight = 70.f;
UIBarButtonItem *back = [[UIBarButtonItem alloc]
initWithTitle:@"Back"
style:UIBarButtonItemStyleDone
target:self
action:@selector(switchToHome)];
self.navigationItem.leftBarButtonItem = back;
UIBarButtonItem *map = [[UIBarButtonItem alloc]
initWithTitle:@"Map"
style:UIBarButtonItemStyleDone
target:self
action:@selector(switchBacktoFindArt)];
self.navigationItem.rightBarButtonItem = map;
[map release];
[super viewDidLoad];
}
чтобы добавить нужные кнопки. Теперь все это работало отлично, но теперь, когда я просматриваю свое приложение и допускаю изменения ориентации, у меня возникли проблемы с этим, поскольку я не могу изменить autoresizingMask в IB. Вся страница просмотра таблицы отлично изменяется, за исключением того, что панель навигации становится очень тонкой сверху вниз. Я бы хотел, чтобы он оставался на одной высоте. Как мне настроить соответствующие маски или даже получить доступ к панели навигации за пределами IB?