0

我正在尝试编写一个移动基板调整来修改 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。

任何帮助将不胜感激 :)

提前致谢 !

4

1 回答 1

0

在 iOS 5+ 中,有一种使用UIAppearance协议的新方法。这里有一个关于如何使用它的好教程。

如果你仍然需要支持 iOS 4,你可以创建一个子类,UIViewController并在创建类时重写各种init*方法来设置属性viewDidLoadviewWillAppear。然后你的所有控制器都可以从这里继承而不是UIViewController直接继承。

还有其他方法可以做到这一点,例如在其上添加类别方法UIViewController或混合其方法 - 但我认为上述方法是最简单的。

于 2012-07-01T00:45:51.047 回答