оператор if / else, ссылающийся на альфа кнопки UI, не работает - PullRequest
0 голосов
/ 25 января 2012

это будет трудно без вставки всего моего кода, но я надеюсь, что мне не хватает чего-то простого.По сути, когда есть веб-ссылка (исходящая из NSDictionary), я хотел бы показать кнопку UI, а если ее нет, кнопка должна быть невидимой.

Прежде всего, я установил UIButton на невидимое в - (void)viewDidLoad

, затем метод - (void)animationDidEndOnAnswer, где кнопка должна появляться, если есть ссылка.Если я просто добавлю button.alpha = 1;, то он отобразится в правильное время, но я пытаюсь сделать так, чтобы он не отображался, если нет ссылки на веб-сайт.

Вот код, который у меня есть в настоящее время в этом методе:

  - (void)animationDidEndOnAnswer 
    { 
          if ([[questions questionOnScreen] objectForKey:@"link"] == @"") {
               leesmeerButton.alpha = 0;
          } 

          else {
             leesmeerButton.alpha = 1;
          }

    NSLog(@"link is %@", [[questions questionOnScreen] objectForKey:@"link"]);

}

В журнале, когда нет ссылки, я ничего не вижу (даже пробел).Когда есть, я вижу правильную ссылку ... Я также попробовал if ([[questions questionOnScreen] objectForKey:@"link"] == nil), но это также не сработало.

Любая помощь приветствуется!спасибо !!

Ответы [ 2 ]

1 голос
/ 25 января 2012

вместо alpha вы должны использовать hidden свойство. Просто так:

      if ([[[questions questionOnScreen] objectForKey:@"link"]isEqualToString:@""])
           leesmeerButton.hidden = YES;
      else
           leesmeerButton.hidden = NO;

Или переключите ДА и НЕТ.

Надеюсь, это поможет

1 голос
/ 25 января 2012

Проблема в этой строке

if ([[questions questionOnScreen] objectForKey:@"link"] == @"")

вместо этого используйте

if ([[[questions questionOnScreen] objectForKey:@"link"] isEqualToString:@""] || [[questions questionOnScreen] objectForKey:@"link"] != nil)
...