【发布时间】:2014-03-23 21:06:01
【问题描述】:
我有一个带有一些自定义定位条的应用程序,因此我想更改按钮文本的标准垂直对齐方式。我试过设置
[buttonItem setTitlePositionAdjustment:UIOffsetMake(0, -22) forBarMetrics:UIBarMetricsDefault]
但没有任何改变。奇怪的是,如果我设置一个水平偏移,按钮移动得很好。似乎只有垂直对齐更改没有得到尊重。这是 iOS 7 上的错误吗?我对 API 有误解吗?我没有看到任何说明垂直对齐被忽略的文档。
【问题讨论】:
-
尝试使用 customView 创建 UIBarButtonItem 可能会更好。创建一个普通的 UIButton,并将其添加为自定义视图并使用自定义视图创建 UIBarButtonItem。
-
我尝试使用具有
(0, -22)来源的UIButton来执行此操作,但该栏似乎也忽略了这一点,(这有点道理,因为它无论如何都会重新定位视图)。 -
你需要调整 UIButton 的 TitleEdgeInsets,而不是 UIButton 本身的原点。示例:
setTitleEdgeInsets:UIEdgeInsetsMake(0, 8, 0, 0)]; -
问题在于它将文本设置在按钮的实际框架之外,这会使命中边界和可见边界不对齐(请参阅:cl.ly/image/0z1Y1N2h412U)
-
@axiixc 我也遇到了同样的问题,你解决了吗?
标签: ios uikit uinavigationbar uibarbuttonitem