Мой контроллер основного вида поддерживает только ландшафтный ландшафт и ландшафтный дизайн. Этот view-контроллер в viewDidLoad имеет:
if ([self.navigationItem respondsToSelector:@selector(leftItemsSupplementBackButton)]) {
self.navigationItem.leftItemsSupplementBackButton = YES;
self.navigationItem.leftBarButtonItem = homeBBI;
NSArray *rightNavItems = [NSArray arrayWithObjects:searchBBI, allBBI, nil];
self.navigationItem.rightBarButtonItems = rightNavItems;
}
Когда я помещаю свой ReportViewController в стек, он выглядит нормально. Этот контроллер также поддерживает только альбомную ориентацию.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}
Когда я поворачиваю iPad на 180 градусов, все выглядит нормально. Однако, когда я захожу в контроллер основного вида, UINavigationBar запутывается. Он в основном содержит все предметы, включая заголовок, сжатый слева. Панель поиска у меня в итоге заняла 75% панели навигации. Я создал это так в viewDidLoad моего MainViewController:
// Search Bar
UISearchBar *searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 150, 44)];
self.SearchEntry = searchBar;
self.SearchEntry.delegate = self;
UISearchDisplayController *searchDisplayCtlr = [[UISearchDisplayController alloc] initWithSearchBar:_searchEntry contentsController:self];
self.SearchController = searchDisplayCtlr;
searchDisplayCtlr.searchResultsDataSource = self;
searchDisplayCtlr.searchResultsDelegate = self;
UIBarButtonItem *searchBBI = [[UIBarButtonItem alloc] initWithCustomView:_searchEntry];
Этого не происходит в iOS 4, так как я создаю UIToolBar и ставлю его как rightBarButtonItem. Теперь, когда я пытаюсь использовать метод RightBarButtonItems для iOS 5, я получил эту проблему. Какие-нибудь мысли? Благодаря.
Редактировать: этого также не произойдет, если я зайду в свой MainVC, не поворачивая iPad. Это происходит только если я вращаюсь.