0

在阅读了与此相关的多个线程后,我只能得出结论,我一定是在错误的时间设置了我的委托,但我不知道在哪里分配委托来解决这个问题。

我在选择主表行时替换详细视图控制器,如下所示:

AppDelegate *app = (AppDelegate *)[[UIApplication sharedApplication] delegate];
CustomerDetailViewController *newvc = [[CustomerDetailViewController alloc] initWithNibName:@"CustomerDetailViewController" bundle:nil withCustomer:[custData objectForKey:@"name"]];            
[app.detailNavigationController setViewControllers:[NSArray arrayWithObjects:newvc, nil]];

这将设置视图控制器。在 CustomerDetailViewController 中,我像这样分配委托:

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {

        AppDelegate *app = (AppDelegate *)[[UIApplication sharedApplication] delegate];
        app.splitViewController.delegate = self;
    }
    return self;
}

如果在纵向模式下选择表格行,会发生什么情况,我没有出现 barbuttonitem。但是,如果我旋转到横向然后再回到纵向,barbuttonitem 确实会出现。

我想在 initWithNibName 中设置我的代表可以解决这个问题,但显然不是。

谁能告诉我在哪里/何时分配代表?

4

1 回答 1

0

我相信我已经找到了解决方案 - 它似乎是这个问题的重复。

于 2012-11-05T14:23:48.127 回答