我创建了一个 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]];
}
最佳答案
您的 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
关于ios - 使用 uibutton 和 if else if 语句更改字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56513170/