2012-01-24 24 views
0

これは私のコード全体を貼り付けることなく難しくなりますが、私は何か簡単なことがないと思っています。基本的に、NSDictionaryのWebリンクがある場合は、UIbuttonを表示したいと思います。そうでない場合は、ボタンは表示されません。UIbuttonのアルファを参照する文が動作しない場合

私は- (void)viewDidLoad

に見えないにUIButtonを設定し、すべての最初には、その後のリンクがある場合、ボタンが表示されます方法- (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"]); 

} 

:ここ

は、私は現在、そのメソッドを持っているコードです。そこには、私は適切なweblinkを参照してください...私も試みた if ([[questions questionOnScreen] objectForKey:@"link"] == nil)しかし、それも動作しませんでした。

ご協力いただきましてありがとうございます。ありがとう!!

+1

なぜ 'NSString'で' == 'を使用していますか? '-isEqual:'や '-isEqualToString:'を使うべきです。または、この特定のケースでは、 '@"と 'nil'の両方を扱うには' -length'を求めて0と比較するだけです。 –

+0

ありがとうKevin、私は==を使用しています。この!あなたのソリューションはうまく動作します、ありがとう!私は未来を念頭に置きます。 – sixstatesaway

答えて

1

問題は、このライン

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

代わりにその使用の

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

の代わりに、あなたはhiddenプロパティを使用する必要がありますalphaを使用することにあります。ちょうどそのように:

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

またはYESとNOを切り替えます。

希望します。

関連する問題