【发布时间】:2017-12-07 10:24:36
【问题描述】:
我正在开发一个简单的计算器来计算视图中 3 张图像的价格。这些图像存储在图像视图中。可以使用按钮 1-6 等更改每个图像视图中的图像。价格显示在底部的标签上。
我正在使用 if 语句,如果 xyz imageview 中的图像是 @"zyx",则将价格设置为 yzx。
我知道计算器可以工作,因为计算器总是采用“else”值(即使我为 else 值设置的价格发生了变化)
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;
}
标签上的价格仍然没有变化。我假设这是因为 imageview 的价格没有变化。
标签上的价格是:
_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];
}
其中“top image”是图像视图,“TopImageView”是一个类,“Price”是该类的属性。
任何帮助将不胜感激。
【问题讨论】:
标签: ios objective-c xcode image imageview