Изменение шрифта с помощью uibutton и if if if - PullRequest
0 голосов
/ 09 июня 2019

Я создал UIlabel и IBAction. Я пытаюсь переключать шрифт вперед и назад с помощью оператора if else, нажимая кнопку UIB.

Я пробовал ниже
он переключится на 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]];

}

1 Ответ

0 голосов
/ 09 июня 2019

Ваш 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...