iphone工具栏显示视图

时间:2011-11-18 17:27:40

标签: iphone ios toolbar

好的,我找不到UIViewController调用的方法,它提供了一个新的视图。

我有一个基于UINavigationController的应用程序。一旦我来到一个显示对象细节的视图,我在底部有一个工具栏,所以我可以给用户一些选项。 当他按下barButtomItem时,我想显示一个新视图但不更改导航栏,所以如果我按下后退按钮,他会从详细视图返回而不是从新选项返回。

我知道方法pushViewController但不能正常工作。

提前thx!

编辑:如果我打电话,只是为了更清楚一点 [[self navigationController] pushViewController:loteCompraViewController animated:YES]; 我得到了一个与新控制器相关的新视图,但它也改变了导航栏,这对我来说并不好。

1 个答案:

答案 0 :(得分:0)

为视图控制器提供“视图显示对象的详细信息”两种方法:isShowingOverlayViewdismissOverlayView。在isShowingOverlayView中,如果您显示“新视图”,则返回YES,因为“他按下barButtomItem”。在dismissOverlayView中,隐藏“新视图”。

然后创建自己的UINavigationController子类。在您的子类中,覆盖popViewControllerAnimated:以使用对象详细信息视图控制器的那些方法,如下所示:

- (UIViewController *)popViewControllerAnimated:(BOOL)animated
{
    if ([self.topViewController respondsToSelector:@selector(isShowingOverlayView)]
        && [(id)self.topViewController isShowingOverlayView])
    {
        [(id)self.topViewController dismissOverlayView];
        return nil;
    } else {
        return [super popViewControllerAnimated:YES];
    }
}

使用此子类而不是标准的UINavigationController。