小编Woy*_*oyo的帖子

UISplitViewController中缺少UIBarButtonItem

我在UISplitViewController内部的右视图控制器中缺少带有popover的navigationItem。当我将iPad旋转为纵向时,按钮不会出现。代码很好,我已经使用过相同的代码(当然不是绝对)很多次,但是现在我遇到了这个奇怪的错误。

- (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;
}
Run Code Online (Sandbox Code Playgroud)

所有这些东西都是使用这样的代码创建的...

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, …
Run Code Online (Sandbox Code Playgroud)

cocoa-touch objective-c ipad uisplitviewcontroller

5
推荐指数
1
解决办法
2978
查看次数