iOS:删除左侧 uibarbuttonitem 之间的间隙
Posted
技术标签:
【中文标题】iOS:删除左侧 uibarbuttonitem 之间的间隙【英文标题】:iOS: Remove gap between left uibarbuttonitems 【发布时间】:2016-12-30 19:30:49 【问题描述】:我在左边设置了两个UIBarButtonItem
。下面是屏幕线框的屏幕截图,从调试视图层次结构中捕获。红框是默认的后退按钮,绿框是菜单按钮。
从截图来看,后退按钮图像和菜单按钮之间存在间隙。后退按钮的视图占用了额外的空间。我正在想办法让这两个按钮彼此靠近。
我删除了返回按钮的“返回”文本:
let backItem = UIBarButtonItem()
backItem.title = ""
self.backBarButtonItem = backItem
并添加了菜单按钮:
let btn = UIBarButtonItem()
btn.customView = menu // it's a UIButton
self.leftItemsSupplementBackButton = true
self.leftBarButtonItem = menu
【问题讨论】:
【参考方案1】:如果它确实是后退按钮视图,那么只需减小其视图框架的大小就可以了。
如果它是他们给你的主后栏按钮项目的一个属性,那么制作一个看起来相同的自定义项,并给它适当的大小。
如果您使用的是灵活的空格键按钮项,则使用固定的空格键按钮项并进行适当的设置。
您还可以通过在框架上使用的 insetInPlace() 来修改条形按钮视图位置的值,但这需要对要使用的正确值进行一些试验。
【讨论】:
【参考方案2】:有几个选项:
一种是插入一个不可见的条形按钮项并给它负宽度,如下所示https://***.com/a/31804099/520810
您也可以调整图像插入https://***.com/a/22742322/520810
【讨论】:
以上是关于iOS:删除左侧 uibarbuttonitem 之间的间隙的主要内容,如果未能解决你的问题,请参考以下文章
具有自定义视图的 UIBarButtonItem 在 iOS 7 上用作左侧或右侧导航栏项目时未正确对齐
如何在 UINavigationBar [iOS 7] 中编辑左、右 UIBarButtonItem 的空白
在 UIToolbar 中的 UIBarButtonItem 上更改 tintColor 会导致按钮消失并从左侧动画化