UINavigation leftBarItem显示后退按钮和其他按钮

时间:2015-12-02 13:22:46

标签: ios uinavigationcontroller

我有一个用拆分视图控制器打开的应用程序,左边的表包含客户列表,右边是用户日历。从表中选择客户将使用客户详细信息视图替换日历视图。此视图中的左侧导航项是标准iOS后退按钮,可将您带回日历视图。

我正在进行一项增强功能,我们添加了Google地图。地图视图具有类似的设置,左侧是表格,右侧是地图。从地图拆分视图返回到初始拆分视图有几个选项,但旁路显示日历并向右显示客户详细信息。

该项目要求用户能够从客户详细信息页面返回到地图视图。流程看起来像这样:

enter image description here

我需要做的是在客户详情viewcontroller的navcontroller中添加一个按钮,让用户返回到map viewcontroller。我遇到的问题是如果我添加一个按钮导航回地图我失去了默认的后退按钮。我希望两者都在导航中。

我使用此代码来显示新按钮,但self.navigationItem.leftBarButtonItems似乎不包含默认的后退按钮。

if (self.fromGoogleMap) {

    NSMutableArray *barbuttonItems = [[NSMutableArray alloc] initWithArray:self.navigationItem.leftBarButtonItems];

    UIImage* imgMapBarButton = [UIImage imageNamed:@"img_mapbarbutton.png"];
    UIBarButtonItem* btnGoogleMap = [[UIBarButtonItem alloc] initWithImage:imgMapBarButton landscapeImagePhone:imgMapBarButton style:UIBarButtonItemStylePlain target:self action:@selector(launchGoogleMapView:)];

    [barbuttonItems addObject:btnGoogleMap];

    self.navigationItem.leftBarButtonItems = barbuttonItems;

}

enter image description here

那么如何在导航中添加按钮但保留默认的后退按钮?

1 个答案:

答案 0 :(得分:1)

尝试在此处添加此行,它旨在表示“除了后退按钮外还显示左侧项目。”

self.navigationItem.leftItemsSupplementBackButton = YES;

Apple文档参考leftItemsSupplementBackButton