删除后退按钮文本和居中文本

Posted

技术标签:

【中文标题】删除后退按钮文本和居中文本【英文标题】:Removing back button text and centered text 【发布时间】:2015-11-05 17:32:59 【问题描述】:

我在 App Delegate 中使用了一个 hack,它从导航栏的后退按钮中删除了所有文本。

[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(-1000, -1000) forBarMetrics:UIBarMetricsDefault];

它只是将后退按钮文本移出屏幕。所以而不是:

| < PREVIOUS SCREEN   NEW   |

它应该得到

| <          NEW            |

但是我得到了

| <                   NEW   |

这是因为 new 左侧的空间被一个“幻像”PREVIOUS SCREEN 占用......它用尽了空间,但实际上并没有显示它。

有什么方法可以避免这个问题,并且会影响整个应用程序吗?

【问题讨论】:

推动导航栏标题的新偏移量? 【参考方案1】:

我通常也会减小文本大小:

NSDictionary *textAttributes = @NSFontAttributeName : [UIFont systemFontOfSize:1.0] ;

[[UIBarButtonItem appearance] setTitleTextAttributes:textAttributes forState:UIControlStateNormal];
[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -100.f) forBarMetrics:UIBarMetricsDefault];

编辑

如果您使用情节提要,您可以将 NavigationItem 的 Back Button 属性设置为 @" "(注意空格)。 Kinda 似乎可以工作(在 ios9 上快速测试)。

【讨论】:

我想过这样做,但它也减少了所有其他 UIBarButtonItem 的大小.. 例如右侧的完成按钮 很遗憾,我没有使用故事板

以上是关于删除后退按钮文本和居中文本的主要内容,如果未能解决你的问题,请参考以下文章

从保留图标的后退按钮中删除文本

保留图标,从“后退”按钮中删除文本

如何从iOS中保留后退图标的LeftNavigation Bar按钮中删除后退文本[重复]

iOS 自定义后退按钮 - 删除文本并使用自定义图像

从 SwiftUI 中的导航栏中删除后退按钮文本

如何将颤动文本与行中的其他小部件居中