只要您不使用操作系统提供的任何 UI 元素(例如MFMailComposeViewController
类),外观代理就很有用。为此,我需要自定义导航栏中的条形按钮项,尤其是后退按钮。
问题是什么?在修改后退按钮的标题属性时,这似乎有问题。关于自定义后退按钮已经写了很多,但我似乎找不到关于修改后退按钮的标题属性(文本颜色、阴影颜色等)的信息(不使用外观代理)。
我尝试了什么?backBarButtonItem
如下所示设置属性的标题属性。如果我在子视图控制器或父视图控制器中执行此操作并不重要。这适用于leftBarButtonItem
和 `rightBarButtonItem' 项目,这让我感到困惑。
[self.navigationItem.backBarButtonItem setTitleTextAttributes:titleAttributes forState:UIControlStateNormal];
当然,使用外观代理也可以正常工作(见下文),但这会扰乱操作系统提供的导航栏,如上所述。
[[UIBarButtonItem appearance] setTitleTextAttributes:titleAttributes forState:UIControlStateNormal];