- (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];
我不知道为什么这不起作用,我需要尽快弄明白.请帮帮我.
解决方法 我有一个类似的问题.我有一个master-detail应用程序并且正在使用Storyboard.我的详细信息视图控制器嵌入在导航控制器中. UISplitVIEwControllerDelegate方法已正确实现,并在设备旋转时调用它们.正确添加了条形按钮,但不可见.问题原因:在我的Detail VIEw Controller中的Storyboard中,我手动添加了一个导航栏,因为我没有看到任何导航栏.但是,这与我添加按钮的导航栏不同.正确的导航栏隐藏在故事板中,因此在我的应用程序中不可见.
解决方案:我在故事板中访问了我的Detail VIEw Controller并删除了我手动添加的导航栏.然后,我点击了导航控制器.在“属性检查器”下,我选中了标有“显示导航栏”的框.现在,我的导航控制器和详细视图控制器以及我的应用程序中都可以看到正确的栏.
@H_301_0@ 总结以上是内存溢出为你收集整理的objective-c – 在UISplitViewController中缺少UIBarButtonItem全部内容,希望文章能够帮你解决objective-c – 在UISplitViewController中缺少UIBarButtonItem所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)