Ios7 如何删除ios 7导航栏上的后退箭头?

Ios7 如何删除ios 7导航栏上的后退箭头?,ios7,uinavigationbar,Ios7,Uinavigationbar,在自定义导航栏中,我想使用“隐藏默认后退”按钮和“自定义左侧”按钮,但即使“后退”按钮被隐藏,也会在导航栏的左端占用一些空间 如何彻底摆脱后箭头按钮? 我曾尝试设置UINavigationItem`的backbarbuttonim和“hidesBackButton属性”,但这些都不起作用 更新: - (void) viewDidLoad{ //... self.navigationItem.hidesBackButton = YES; self.navigationItem.leftBarBu

在自定义导航栏中,我想使用“隐藏默认后退”按钮和“自定义左侧”按钮,但即使“后退”按钮被隐藏,也会在导航栏的左端占用一些空间

如何彻底摆脱后箭头按钮? 我曾尝试设置UINavigationItem`的
backbarbuttonim
和“hidesBackButton
属性”,但这些都不起作用

更新:

- (void) viewDidLoad{
//...
self.navigationItem.hidesBackButton = YES;
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:_backButtonView];
//...
}
我使用Spark Inspector检查视图层次

正如您所看到的,后退箭头按钮在导航栏中仍然占据一些空间

更新:

- (void) viewDidLoad{
//...
self.navigationItem.hidesBackButton = YES;
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:_backButtonView];
//...
}
返回箭头实际上是_UINavigationBarBackIndicatorView的一个实例,它看起来像一个私有类

更新:

- (void) viewDidLoad{
//...
self.navigationItem.hidesBackButton = YES;
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:_backButtonView];
//...
}
原来问题与
UINavigationbarBackIndicatorView
无关。iOS 7将在左侧项目之前添加间距


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

在按下控制器之前,应将
隐藏BackButton
设置为“是”。也就是说,如果按下的视图必须具有隐藏的后退按钮,则导航控制器应在上一视图控制器中设置hidebackbutton


我希望这能对你有所帮助。

原来我的问题与


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

你能告诉我们你是如何尝试的吗?@nhgrif我更新了我的问题。我尝试了,但没有成功。甚至在导航堆栈中的第一个视图控制器中也会发生这种情况。我的意思是,我的根视图控制器有一个leftbutton项,但在导航栏中,隐藏的后退箭头仍然占据空间,并使leftbutton项向右移动一点。在根视图控制器中,导航控制器中的后退按钮不可能。我想这不是隐藏按钮的问题。如果您使用的是导航栏图像,请检查该图像是否包含后退箭头。如果不是的话,那它还有其他问题。在加载导航根视图控制器之前检查逻辑检查我的更新,我确实为导航栏图像设置了bg,但箭头是UINavigationBarBackIndicatorView的实例。如果后退箭头是bg图像的一部分,它将不会像那样占用空间。