if / else语句引用UI按钮的alpha不起作用

时间:2012-01-24 22:48:30

标签: iphone ios uibutton alpha

如果不粘贴我的整个代码,这将是困难的,但我希望我错过了一些简单的东西。基本上,当有一个Web链接(来自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 个答案:

答案 0 :(得分:1)

问题在于这一行

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

而不是使用

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

答案 1 :(得分:1)

而不是使用alpha,您应该使用hidden属性。就像那样:

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

或切换YES和NO。

希望有所帮助