我正在设计一个自己的比萨饼应用程序。用户将添加多个配料,例如虾,培根等等。所以添加的图像工作正常。这里是我的代码:删除并添加多个图像在同一个UIImageView
- (IBAction)meat0:(id)sender {
[self addMeatTopping:@"topping_Bacon" withImage:beykenMeat];
}
- (IBAction)meat1:(id)sender {
[self addMeatTopping:@"Steak" withImage:steykMeat];
}
如何创建一个切换方法,当用户选择一个项目:调用上述方法的
bool meatAdded;
- (void)addMeatTopping:(NSString*)meat withImage:(UIImageView*)meatImage {
if ((meatAdded =! meatAdded)) {
//crust o taqir bede be cheese BADAN
meatImage = [[UIImageView alloc]initWithFrame:_crustImage.bounds];
[meatImage setImage:[UIImage imageNamed:meat]];
[_crustImage addSubview:meatImage];
for (UIButton*button in _meatButtonsArray) {
checkMark.center = button.center;
checkMark.alpha = 1;
}
[UIView animateWithDuration:.60 delay:0 usingSpringWithDamping:.40 initialSpringVelocity:.20 options:UIViewAnimationOptionAllowUserInteraction animations:^ {
meatImage.transform = CGAffineTransformMakeScale(.5, .5);
meatImage.transform = CGAffineTransformMakeScale(1, 1); } completion:nil];
}else {
/**** THIS PART OF CODE DOESN'T WORK ! IT PRINTS LOG BUT DOESN'T CHANGE THE MEAT IMAGE AT ALL ****/
NSLog(@"Remove");
meatImage.alpha = 0;
[meatImage setImage:nil];
[meatImage removeFromSuperview];
}
}
例子吗?该项目将添加到查看,当再次点击它应该从视图中删除。
为什么不重新加载前一张图片而不是撤消? –
你想用这个if语句做什么? 'if((meatAdded =!meatAdded))'。我怀疑这是你真正想要的,因为否定'meatAdded',然后将新值赋给'meatAdded',然后检查新值是真还是假。 – rmaddy
@TejaNandamuri:没有以前的图像。它由用户逐步添加第一个地壳 - 酱 - 奶酪(有单一的选择),然后肉,蔬菜(这是多选) –