我正在制作一个用于售票的 ipad 应用程序,当我想减去时遇到问题..
UI 是这样制作的:
for(NSString *string in ticketArray){
float y = 60*ticketCount+spaceFloat;
//subView to contain one ticket
UIView *ticketTypeView = [[UIView alloc]initWithFrame:CGRectMake(10, y, 1000, 60)];
if(ticketCount%2){
ticketTypeView.backgroundColor = [UIColor lightGrayColor];
}
[self.view addSubview:ticketTypeView];
//label for ticket type name
UILabel *ticketType = [[UILabel alloc]initWithFrame:CGRectMake(10, 3, 500, 50)];
[ticketType setText:string];
[ticketType setFont:[UIFont fontWithName:@"Helvetica neue" size:20.0]];
[ticketTypeView addSubview:ticketType];
//UIStepper for ticket amount
UIStepper *stepper = [[UIStepper alloc]initWithFrame:CGRectMake(500, 16, 0, 0)];
stepper.transform = CGAffineTransformMakeScale(1.2, 1.2);
[stepper addTarget:self action:@selector(chanegestep:) forControlEvents:UIControlEventValueChanged];
stepper.maximumValue = 100;
stepper.minimumValue = 0;
[ticketTypeView addSubview:stepper];
//label for price pr. ticket
UILabel *pricePrTicket = [[UILabel alloc]initWithFrame:CGRectMake(620, 5, 100, 50)];
[pricePrTicket setText:@"1000.50"];
pricePrTicket.tag = kTagPriceTicket;
[ticketTypeView addSubview:pricePrTicket];
//totalPrice label
UILabel *totalTypePrice = [[UILabel alloc]initWithFrame:CGRectMake(900, 5, 100, 50)];
[totalTypePrice setText:@"0.00 Kr."];
totalTypePrice.tag = kTagTotalTypePrice;
[ticketTypeView addSubview:totalTypePrice];
ticketCount++;
}
}
我的 ValueChanged 方法:
- (IBAction) chanegestep:(UIStepper *)sender {
double va = [sender value];
NSLog(@"stepper pressed");
//get the 2 labels for the price and for displaying price
UILabel *ticketprice = (UILabel *)[sender.superview viewWithTag:kTagPriceTicket];
UILabel *totalPrice = (UILabel *)[sender.superview viewWithTag:kTagTotalTypePrice];
double price = [ticketprice.text doubleValue];
//calc the total from that one ticet type
double totalDisplayed = va*price;
//add to the complete sales amount
completeSalesAmount += totalDisplayed;
NSLog(@"%.02f",completeSalesAmount);
if(ticketprice){
totalPrice.text = [[NSString alloc]initWithFormat:@"%.02fKr.",totalDisplayed];
}
//activate btnContinue
if(completeSalesAmount!=0){
[btnContinue setEnabled:YES];
}
//[ setText:[NSString stringWithFormat:@"%d", (int)va]];
}
我的问题:将数字加起来效果很好,但是当按下步进器上的“-”时,我必须以某种方式检测到这一点,然后从 totalSalesAmount 中减去给定票的价格。
任何帮助表示赞赏。
问候,即将到来的 IOS 开发者 xD
编辑:
每次调用 valueChanged 时都会计算 completedSalesAmount。
所以可以说我有 2 种票类型,并且每种选择了 1 种。
门票 1 - 价格 10$ - 金额 1,总计 10$ (10*1)
completeSalesAmount - 0 += (10*1) = 10$
ticket2 - 价格 10$ - 金额 1,总计 10$ (10*1)
completeSalesAmount - 10 += (10*1) = 20$
现在在ticket1上按下“-”
票 1 - 价格 10$ - 金额 0,总计 0$ (10*0)
完成销售额 += 0...