2017-12-07 6 views
1

ビュー内の3つの画像の価格を合計する簡単な電卓を開発しています。これらの画像は、画像ビュー内に保存されます。各画像ビュー内の画像は、ボタン1-6などを使用して変更することができます。価格は下部のラベルに表示されます。目的C/Xコード - ImageViewの画像がXcodeによって認識されない

xyz imageviewの画像が@ "zyx"の場合、価格をyzxとするif文を使用しています。

私は電卓はいつも(私は他の値の変化のために設定した価格も)「他」の値をとるため、電卓の作品を知っている

if(
    self.topimage.image == [UIImage imageNamed:@"image.png"]){ 

    self.TopImageView.Price = 200; 
} 
else if(
     self.topimage.image == [UIImage imageNamed:@"slacks.png"]){ 

    self.TopImageView.Price = 400; 
} 
else { 
    self.TopImageView.Price = 9; 

} 

XcodeはときImageViewの内部の画像を認識することはできませんどのような名前の画像にも等しい/価格を更新しない。

if(
     self.topimage.image == [UIImage imageNamed:[self.imagesArray objectAtIndex: 1]]){ 

    self.TopImageView.Price = 200; 
} 

を、まだラベル上の価格は変更されません:

私はそれに名前を付けるのではなく、アレイから直接画像を引っ張っにも試してみました。イメージビューの価格が変わらないからです。

ラベル上の価格は次式で与えられます。

_totalprice = (self.TopImageView.Price + self.MiddleImageView.Price + self.BottomImageView.Price); 

    self.Pricelabel.text = [NSString stringWithFormat:@"£%.0f", _totalprice]; 

すべてのプロパティが定義され、プログラムがエラーなしで実行されます。電卓自体は動作し、私のif節から 'else'値を正しく合計します。すべての画像はxcodeの「サポートファイル」の下にあり、配列から引き出す際にアプリに表示されるため、画像を引き出す際に問題がないことはわかっています。

- (IBAction)Button2:(UIButton *)sender { 

    self.clothesindex = self.clothesindex - 1; 

    if (self.clothesindex == (-1)) { 
     self.clothesindex = 2; 
    } 
    self.topimage.image = [UIImage imageNamed:[self.imagesArray objectAtIndex: self.clothesindex ]]; 




    if(
     self.topimage.image == [UIImage imageNamed:@"image.png"]){ 

     self.TopImageView.Price = 200; 
    } 
    else if(
      self.topimage.image == [UIImage imageNamed:@"slacks.png"]){ 

     self.TopImageView.Price = 400; 
    } 
    else { 
     self.TopImageView.Price = 9; 

    } 

    _totalprice = (self.TopImageView.Price + self.MiddleImageView.Price + self.BottomImageView.Price); 

    self.Pricelabel.text = [NSString stringWithFormat:@"£%.0f", _totalprice]; 
} 

「トップ画像は」ImageViewのであり、「TopImageViewは」クラスで、「価格」のプロパティ:ここ

は、例えば、私は1つのボタンの下にあるすべてのコードですそのクラス。

ご協力いただければ幸いです。あなたが何をすべきあなたがこの方法を使用することができ、画像を比較すること

答えて

0

NSString* imageName = [self.imagesArray objectAtIndex: self.clothesindex ]; 

if([imageName isEqualToString:@"image.png"]){ 

    self.TopImageView.Price = 200; 
} 
else if([imageName isEqualToString:@"slacks.png"]){ 

    self.TopImageView.Price = 400; 
} 
else { 
    self.TopImageView.Price = 9; 

} 
0

- (BOOL)image:(UIImage *)image1 isEqualTo:(UIImage *)image2 
{ 
    NSData *data1 = UIImagePNGRepresentation(image1); 
    NSData *data2 = UIImagePNGRepresentation(image2); 

    return [data1 isEqual:data2]; 
} 
関連する問題