【问题标题】:How to remove the back arrow ios 7 navigation bar?如何删除返回箭头 ios 7 导航栏?
【发布时间】:2014-01-20 01:38:42
【问题描述】:

在我的自定义导航栏中,我想使用隐藏默认后退按钮并使用我自定义的左按钮,但即使后退按钮被隐藏,它仍会在导航栏的左端占用一些空间。

如何彻底摆脱后退箭头按钮? 我尝试设置 backBarButtonItem 和 'hidesBackButtonproperties ofUINavigationItem`,但这些都不起作用。

更新:

- (void) viewDidLoad{
//...
self.navigationItem.hidesBackButton = YES;
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:_backButtonView];
//...
}

我使用 Spark Inspector 来检查视图层次结构。

如您所见,后退箭头按钮仍然在导航栏中占用一些空间。

更新:

后退箭头其实是_UINavigationBarBackIndicatorView的一个实例,看起来像一个私有类。

更新:

原来问题与UINavigationbarBackIndicatorView 无关。 iOS 7 将在左侧项目之前添加间距。

这个问题类似于this。找到答案了。

【问题讨论】:

  • 你能告诉我们你是如何尝试这样做的吗?
  • @nhgrif 我更新了我的问题。

标签: ios7 uinavigationbar


【解决方案1】:

您应该在推动控制器之前将hidesBackButton 设置为YES。也就是说,如果推送视图必须隐藏后退按钮,则导航控制器应在前一个视图控制器中设置隐藏按钮。

希望对你有帮助。

【讨论】:

  • 我试过了,还是不行。即使在导航堆栈中使用我的第一个视图控制器,它也会发生。
  • 我的意思是我有一个用于根视图控制器的左键项目,但在导航栏中,隐藏的后退箭头仍然占用空间并使左键项目向右移动一点。
  • 在根视图控制器中,导航控制器中的后退按钮是不可能的。我认为它不是 hideBackButton 问题。如果您使用的是导航栏图像,那么请检查该图像是否包含后退箭头。如果不是,那么它的其他一些问题。在加载导航根视图控制器之前检查您所做的逻辑
  • 检查我的更新,我确实为导航栏图像设置了 bg,但箭头是 UINavigationBarBackIndicatorView 的实例。如果后退箭头是 bg 图像的一部分,它就不会占用这样的空间。
【解决方案2】:

原来我的问题类似于this

该问题的解决方案对我有用。

【讨论】:

    猜你喜欢
    • 2019-07-25
    • 2013-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-24
    • 2016-05-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多