我正在尝试编写一个移动基板调整来修改应用程序在UINavigationBar标题和按钮中使用的默认字体颜色, 例如除了导航栏中的默认白色标题,所有白色导航栏文本都将变为红色,
希望这是有道理的。
目前我正在尝试:
%hood UINavigationBar
-(void)setTitleView:(id)arg1 {
%orig
UILabel *titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320, 30)];
titleLabel.textColor = [UIColor redColor]
}
%end
我觉得它是因为我试图设置一个新的UILabel,而不是替换被拉的默认setTitleView。
任何帮助将不胜感激:)
提前致谢!
答案 0 :(得分:0)
在iOS 5+中,有一种使用UIAppearance协议执行此操作的新方法。有一个关于如何使用它的好教程here。
如果您仍然需要支持iOS 4,则可以创建UIViewController
的子类并覆盖各种init*
方法,以便在创建类时设置属性,或者在viewDidLoad
和viewWillAppear
{ {1}}等等。然后,您的所有控制器都可以直接继承而不是UIViewController
。
还有其他方法可以做到这一点,例如在UIViewController
上添加类别方法或调整其方法 - 但我认为以上是最简单的方法。