首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UISplitViewController中缺少UIBarButtonItem

UISplitViewController中缺少UIBarButtonItem
EN

Stack Overflow用户
提问于 2011-01-21 10:54:42
回答 2查看 3.1K关注 0票数 5

我在UISplitViewController中的右视图控制器中丢失了带有弹出窗口的navigationItem。只是当我将iPad旋转到纵向时,按钮不会出现。代码很好,我已经使用了相同的代码(当然不是绝对的)很多次,但现在我得到了这个奇怪的bug。

代码语言:javascript
复制
- (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;
}

所有这些东西都是使用如下代码创建的……

代码语言:javascript
复制
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];

我不知道为什么这不起作用,我需要尽快弄清楚。请帮帮我。

EN

回答 2

Stack Overflow用户

发布于 2012-08-05 20:11:31

我也遇到过类似的问题。我有一个Master-Detail应用程序,并且正在使用故事板。我的细节视图控制器被嵌入到导航控制器中。UISplitViewControllerDelegate方法被正确实现,并且它们在设备旋转时被调用。栏按钮添加正确,但不可见。

问题的原因:在我的细节视图控制器的故事板中,我已经手动添加了一个导航栏,因为我没有看到任何导航栏。然而,这与我要添加按钮的导航栏并不相同。正确的导航栏隐藏在故事板中,因此在我的应用程序中不可见。

Solution:我转到故事板中的细节视图控制器,删除了我手动添加的导航栏。然后,我点击了导航控制器。在“属性检查器”下,我选中了标记为“显示导航栏”的复选框。现在,正确的栏在我的导航控制器和细节视图控制器以及我的应用程序中都可见。

票数 1
EN

Stack Overflow用户

发布于 2011-01-29 00:03:48

看起来你错过了DetailViewController和UISplitViewController之间的参考插座。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4754952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档