我有一个UIButton,我在Interface Builder中给出了一个属性标题:它有一个特定的字体,字符串的一部分是不同的颜色。
当我加载我的应用时,颜色会保留,但应用会将字体恢复为系统默认值...
有人经历过这种情况或知道修复方法吗?试图避免在代码中设置属性标题。
如果重要,我使用的字体是Open Sans,它在我在代码中指定字体的其他标签上正确显示。
答案 0 :(得分:2)
您是否尝试在更改按钮的字体之前选择文字??
答案 1 :(得分:0)
一周前我遇到了同样的问题。我也在使用Open Sans。但是每当我尝试构建时,我都会遇到一个无处可寻的编译错误。
无论如何..我只是在按钮上添加了一个标签,并按照我想要的方式进行配置。
答案 2 :(得分:0)
NSMutableParagraphStyle *style = [[NSParagraphStyle defaultParagraphStyle] mutableCopy];
[style setAlignment:NSTextAlignmentCenter];
[style setLineBreakMode:NSLineBreakByWordWrapping];
NSDictionary *dict1 = @{NSFontAttributeName:[UIFont fontWithName:@"Varela Round" size:15.0f],
NSForegroundColorAttributeName:[UIColor whiteColor],
NSParagraphStyleAttributeName:style};
NSDictionary *dict2 = @{NSFontAttributeName:[UIFont fontWithName:@"Varela Round" size:10.0f],
NSForegroundColorAttributeName:[UIColor whiteColor],
NSParagraphStyleAttributeName:style};
NSMutableAttributedString *attString = [[NSMutableAttributedString alloc] init];
[attString appendAttributedString:[[NSAttributedString alloc] initWithString:@"Expensed\n" attributes:dict1]];
[attString appendAttributedString:[[NSAttributedString alloc] initWithString:@"Tap to edit" attributes:dict2]];
[cell.expenseTripButton setAttributedTitle:attString forState:UIControlStateNormal];
[[cell.expenseTripButton titleLabel] setNumberOfLines:0];
[[cell.expenseTripButton titleLabel] setLineBreakMode:NSLineBreakByWordWrapping];
答案 3 :(得分:-1)
我遇到了同样的问题,但是UIButton,我的UILable已经改为新的字符串,我确定它在Interface builder上有所改变。但是构建它时它仍然是旧字符串。 我在源代码中打开了Interface builder。搜索旧字符串,它仍然在那里。刚删除它来解决问题。 (我不知道为什么会这样)。也许你应该开IB以确保。
希望它对你有所帮助。