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

标签 ios objective-c uinavigationbar uibarbuttonitem uinavigationitem

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

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

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

| < PREVIOUS SCREEN   NEW   |

它应该得到

| <          NEW            |

但是我得到了

| <                   NEW   |

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

有没有一种方法可以避免这个问题,从而影响整个应用程序?

最佳答案

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

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

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

编辑

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

enter image description here

关于ios - 删除后退按钮文本和居中文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33551104/

相关文章:

ios - 后台上下文保存导致 NSFetchedResultsController didChange anObject 调用 .delete 而不是 .update

android - iOS/Android 上的信标通知

ios - 使用外部添加的依赖项构建 Cocoa Touch 框架

ios - 设置导航项标题问题.. 为什么我的导航项看起来很多?

ios - UIPageViewController:子 Controller 在滚动期间忽略状态栏高度

iphone - 用 UIView 替换 UINavigationControllers NavigationBar

ios - 将 UILabel 定位在 UIButton 的文本结尾之后?

ios - UINavigationController 在顶部有额外的状态栏间隙

ios - Split View Controller 导航栏的奇怪行为

ios - 核心数据删除规则,删除所有关系和实体(很多)