我试图检测何时推送了ViewController。
因此,我遵循了Apple http://developer.apple.com/library/ios/#documentation/uikit/reference/UINavigationBarDelegate_Protocol/Reference/Reference.html的文档,关于NavegationBar委托(delegate),但是我没有弄清楚如何使其成功运行。
我将以下代码放在ViewController的代码中,但没有检测到它在推送。
我做错了什么?

- (void)navigationBar:(UINavigationBar *)navigationBar didPushItem:(UINavigationItem *)item, {
    NSLog(@"didPushItem: %@", item);
    [self showimage];
}

最佳答案

不清楚您需要做什么,但是有几种UIViewController方法可以识别其上下文。 docs下面有两个,还有几个

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];

    BOOL pushed = [self isMovingToParentViewController];

    printf("viewWillAppear     %d\n", pushed);

}

- (void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];

    BOOL popped = [self isMovingFromParentViewController];

    printf("viewWillDisappear     %d\n", popped);

}

10-04 23:05
查看更多