外观代理不能按预期用于UIButton字体

时间:2013-06-15 21:11:59

标签: ios uibutton uiappearance

我目前通过外观代理设计我的应用程序,我遇到了这个问题: 当我在UIButton外观上设置属性时,我的字体将被忽略:

[buttonAppearance setTitleColor:darkColor forState:UIControlStateNormal];
[buttonAppearance.titleLabel setFont:[UIFont fontWithName:@"Helvetica Neue" size:10.0]];

第一行正确应用(darkColor是一些UIColor),但我的字体更改被完全忽略。 当我将该行复制到我的ViewController并将其应用到具体按钮时,它可以正常工作。

我错过了什么吗?

任何帮助表示赞赏! TY

2 个答案:

答案 0 :(得分:3)

字体名称错误,应为HelveticaNeue,两者之间没有空格。

将来如果要查看其他iOS字体名称,请检查this website piece of code

修改

仔细观察后,我意识到您正在尝试设置按钮标题的外观UILabel,遗憾的是UILabelUIAppearance中没有字体属性代理,这就是字体不起作用的原因。

答案 1 :(得分:1)

我找到了这个类TWTButton.h,他解决了我在UIButton类中添加新外观选择器[setTitleFont:]的问题。

buttonAppearance = [TWTButton appearance];
[buttonAppearance setTitleFont:[UIFont systemFontOfSize:10.0f]];

您可以在此处详细了解:http://toastmo.com/blog/2013/01/17/uiappearance/