iOS:使用[self appearance]设置属性文本

时间:2015-05-18 09:17:38

标签: ios nsattributedstring uiappearance

我正在开发一个调试设置的项目,这样如果你的类没有继承特定的类,那么当调试中运行app时它会显示出来。例如,普通的文本字段文本将显示为黄色,背景为红色。

所以我有一个子类,我将覆盖初始化方法,以便我可以创建一个新按钮。在这个课程中,我正在设置标题颜色和字体。但是我还想设置属性字符串,这样当有人创建按钮时,文本总是带下划线。

我尝试过以下代码:

 + (void)initialize
 {
     [[self appearance] setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
     [[self appearance] setFont:[UIFont fontWithName:kDOMFontMedium size:12]];

     NSAttributedString *attributedString = [[NSAttributedString alloc] init];
     NSDictionary *underlineAttribute = @{NSUnderlineStyleAttributeName: @(NSUnderlineStyleSingle)};
attributedString = [[NSAttributedString alloc] initWithString:@"Privacy Policy"
                                                   attributes:underlineAttribute];

    [[self appearance] setAttributedText:attributedString];

 }

但是当我运行时,我得到以下内容:'NSInvalidArgumentException', reason: '-[_UIAppearance setAttributedText:]:

我可以在使用该类时在代码中设置下划线。然而,在初始化中使用它似乎更合乎逻辑,因为文本和下划线将始终相同。

无论如何要实现这个目标吗?

0 个答案:

没有答案