我创建了一个UIlabel和IBAction 我试图通过按下UIButton使用if else语句来回切换字体。
我在下面尝试过
它将切换到ArialRoundedMTBold,但不会切换回Helvetica。
if ( [UIFont fontWithName:@"HelveticaNeue" size:17.0]) {
[labelz1 setFont:[UIFont fontWithName:@"ArialRoundedMTBold" size:17.0]];
} else if ( [UIFont fontWithName:@"ArialRoundedMTBold" size:17.0]){
[labelz1 setFont:[UIFont fontWithName:@"HelveticaNeue" size:17.0]];
}
我也尝试过
if ( labelz1.font ==[UIFont fontWithName:@"HelveticaNeue" size:17.0]) {
[labelz1 setFont:[UIFont fontWithName:@"ArialRoundedMTBold" size:17.0]];
} else if ( labelz1.font ==[UIFont fontWithName:@"ArialRoundedMTBold" size:17.0]){
[labelz1 setFont:[UIFont fontWithName:@"HelveticaNeue" size:17.0]];
}
答案 0 :(得分:0)
您的if
有效地问到“ HelveticaNeue 17pt是否存在吗?”的答案是肯定的,因此您将标签字体设置为ArialRoundedMTBold 17pt。 if
测试与设置标签字体之间没有无连接–您将标签设置为“是否存在HelveticaNeue 17pt吗?”这是什么字体都没关系。总是会有相同的答案。
您需要问一个问题:标签labelz1
HelveticaNeue 17pt的字体是吗?”。为此,请查看使用labelz1.font
获取标签的字体并测试其字体,例如:
UIFont *labFont = labelz1.font;
UIFont *f1 = [UIFont fontWithName:@"HelveticaNeue" size:17.0];
if( [labFont isEqual:f1] ) ...
HTH