如何删除 backBarButtonItem 空白空间

Posted

技术标签:

【中文标题】如何删除 backBarButtonItem 空白空间【英文标题】:How to remove backBarButtonItem empty space 【发布时间】:2016-09-23 23:21:10 【问题描述】:

我的自定义 UINavigationController 有问题(在屏幕截图中)。

如您所见,我已经删除了后退按钮中的标题,但是有一个空白区域我无法删除。

这是我用于 backButtonItem 的代码:

self.navigationItem.backBarButtonItem = UIBarButtonItem(title:"", style:.plain, target:nil, action:nil)
navigationController?.navigationBar.backIndicatorImage = UIImage(named: "back")     
navigationController?.navigationBar.backIndicatorTransitionMaskImage = UIImage(named: "back")

【问题讨论】:

【参考方案1】:

试试这个:

self.navigationItem.hidesBackButton = true
self.navigationItem.leftBarButtonItem = nil

您可能只需要其中一个。

【讨论】:

也许您没有正确阅读我的问题:问题是我必须删除后退箭头和文本字段之间的空白。我注意到这个空白属于后退按钮。 只是一个需要考虑的问题,如果您删除空白以扩展您的输入文本字段,那么您的 UI 看起来会非常糟糕。只是我的想法...... 抱歉,我读得不够仔细。但是我认为,如果您隐藏后退按钮,然后添加一个 leftBarButtonItem 作为您的后退箭头,并使用您自己的@IBAction 处理后退按钮点击,那么您将获得您想要的外观。我认为问题在于 UI 仍然允许标题有一定的空间。【参考方案2】:

如果你使用故事板,你应该:

    选择文本字段 转到“显示尺寸检查器” 从“排列”菜单中选择“水平填充容器”

完成;)

【讨论】:

我的导航栏是标准栏,titleView是基于XIB的自定义UIView,后退按钮只替换了backgroundImage和text设置为“”。我不知道你在说什么。如果你给我截图,如果可以的话我可以接受你的回答。 它不起作用...:(我得到了和以前一样的结果:(

以上是关于如何删除 backBarButtonItem 空白空间的主要内容,如果未能解决你的问题,请参考以下文章

如何使用外观代理设置 UINavigationItem 的 backBarButtonItem?

pushViewController 后,如何禁用 backBarButtonItem?

如何使用不同颜色快速设置导航栏返回箭头和backBarButtonItem标题

backBarButtonItem(leftbackButtonItem) 样式问题

如何为 backBarButtonItem 设置自定义字体 [重复]

如何删除系统生成的空白数据