UISplitViewControllerDelegate - willHideViewController:...不发送UIBarButtonItem?

时间:2011-02-13 22:37:55

标签: iphone uisplitviewcontroller uibarbuttonitem

我已经实现了UISplitViewControllerDelegate,我试图找到旋转时代码崩溃的原因。

现在我将AppDelegate作为实现委托方法的对象,然后我为我的详细信息视图设置协议(SubstitutableDetailViewController)以处理添加/删除UIBarButton项目。

- (void)splitViewController:(UISplitViewController*)svc 
     willHideViewController:(UIViewController *)aViewController 
          withBarButtonItem:(UIBarButtonItem*)barButtonItem 
       forPopoverController:(UIPopoverController*)pc {

    // Keep references to the popover controller and the popover button, and tell the detail view controller to show the button.

    NSLog(@"barButtonItem class %@",[barButtonItem class]);

    [barButtonItem setTitle:[NSString stringWithString:@"Menu"]];
    self.popoverController = pc;
    self.rootPopoverButtonItem = barButtonItem;

    UIViewController <SubstitutableDetailViewController> *detailViewController = [splitViewController.viewControllers objectAtIndex:1];

    [detailViewController showRootPopoverButtonItem:rootPopoverButtonItem];
}

这里的问题是日志打印出'barButtonItem class __NSCFArray'。

为什么UIBarButtonItem会以数组形式出现?然后抛出一个错误,因为我正在尝试设置“数组”的标题。

-[__NSCFArray view]: unrecognized selector sent to instance 0x150510

关于为什么它不是正确的对象的任何想法?

如果我将它们注释掉,当我尝试将此barButtonItem添加到工具栏时会抛出错误。同样,它不是写入类型的对象。

0 个答案:

没有答案