我在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