0

こんにちは、メソッド呼び出しで画像を変更しようとしています。メソッドが呼び出されると、元の画像が返されます

-(void)change
{
if ((player.image = [UIImage imageNamed:@"first.png"]))
{
player.image = [UIImage imageNamed:@"second.png"]));
}
else
{
player.image = [UIImage imageNamed:@"first.png"]));
}
}

これは「first.png」画像を「second.png」に変更しますが、再度呼び出されたときは機能しません。

どこが間違っていますか?

4

2 に答える 2

2

Michael Dautermann が指摘したように、2 つの UIImage を比較する方法は間違っています。表示している画像を示す NSString プロパティを単純に保持することはできませんか?

 -(void)change
 {
     if ([self.displayedImageTitle isEqualToString:@"first.png"]){
        player.image = [UIImage imageNamed:@"second.png"]));
        self.displayedImageTitle = @"second.png";
     }
     else{
        player.image = [UIImage imageNamed:@"first.png"]));
        self.displayedImageTitle = @"first.png";
     }
 }
于 2013-06-21T16:20:50.607 に答える