我在UISplitViewController裏面的右側視圖控制器中彈出了導航項與彈出窗口。當我將iPad旋轉到縱向時,只有該按鈕不會出現。代碼很好,我使用了同一個(當然不是絕對的),但是現在我有了這個奇怪的錯誤。UISplitViewController中缺少UIBarButtonItem
- (void)splitViewController:(UISplitViewController *)svc
willHideViewController:(UIViewController *)aViewController
withBarButtonItem:(UIBarButtonItem *)barButtonItem
forPopoverController:(UIPopoverController *)pc
{
barButtonItem.title = aViewController.title;
self.navigationItem.rightBarButtonItem = barButtonItem;
/*
this method gets called, class is set to be delegate of split view,
barButtonItem && self.navigationItem are not nils.
*/
}
- (void)splitViewController:(UISplitViewController *)svc
willShowViewController:(UIViewController *)aViewController
invalidatingBarButtonItem:(UIBarButtonItem *)button
{
self.navigationItem.rightBarButtonItem = nil;
}
所有的這些東西使用這樣的代碼被創建...
UISplitViewController *svc = [[UISplitViewController alloc] init];
UINavigationController *rightNav = [[UINavigationController alloc] init];
DetailViewController *dvc = [[DetailViewController alloc] initWithSomeArgs:args];
[rightNav pushViewController:dvc animated:NO];
svc.delegate = dvc;
svc.viewControllers = [NSArray arrayWithObjects:tabBarController, rightNav, nil];
// tabBar is good, not nil and working well on the iPhone
[self.window addSubview:svc.view];
[dvc release]; [rightNav release];
我不知道爲什麼不工作,我需要儘快弄清楚。請幫幫我。
當你[自setPopoverController:pc];在第一個方法(和[self setPopoverController:nil];第二個)? –
DetailViewController中沒有屬性popoverController – Woyo