ios - 自定义特定后退按钮的标题属性

标签 ios uinavigationbar customization uibarbuttonitem

只要您不使用操作系统提供的任何 UI 元素(例如 MFMailComposeViewController 类),外观代理就很有用。因此,我需要自定义导航栏中的栏按钮项,特别是后退按钮

问题是什么?在修改后退按钮的标题属性时,这似乎是有问题的。关于customizing the back button已经写了很多了。 ,但我似乎找不到有关修改后退按钮的标题属性(文本颜色、阴影颜色等)的信息(不使用外观代理)。

我尝试过什么?设置 backBarButtonItem 属性的标题属性,如下所示。我是否在 subview Controller 或父 View Controller 中执行此操作并不重要。这对于 leftBarButtonItem 和 `rightBarButtonItem' 项目效果很好,这让我感到困惑。

[self.navigationItem.backBarButtonItem setTitleTextAttributes:titleAttributes forState:UIControlStateNormal];

当然,使用外观代理也可以正常工作(见下文),但这会弄乱操作系统提供的导航栏,如上所述。

[[UIBarButtonItem appearance] setTitleTextAttributes:titleAttributes forState:UIControlStateNormal];

最佳答案

仅当 UIBarButtonItems 存在于特定 View 层次结构中时,您才能定位它们的外观。因此,您可以创建 UINavigationController 的子类,例如 MyNavigationController 并执行以下操作:

[[UIBarButtonItem AppearanceWhenContainedIn:[UINavigationBar 类], [MyNavigationController 类], nil] setTitleTextAttributes:titleAttributes forState:UIControlStateNormal];

关于ios - 自定义特定后退按钮的标题属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16688795/

相关文章:

ios - 如何为所有可能的状态设置 UIBarButtonItem backgroundImage?

ios - 自定义 UIButton 从 TableView 中向上钻取?

css - 如何自定义 Twitter 配置生成的小部件?

ios - 如何检测我是否拥有 iPhone 2G,3G,3GS

android - 钛使用带有 imageView 的 borderRadius 设置

ios - Swift 自定义 UITableViewCell 不显示数据

iPhone:导航栏返回导航项目onClick-event?

user-interface - 跳转到下一个代码单元(IPython 笔记本)

Extjs:如何定义自定义菜单的工作布局

objective-c - UIViewController 可以推送 UITabBarController 吗?