1

UIStepper で選択した数量を価格に掛けています。

これが私がやっている方法です:

- (void) stepperForQuantity:(UIStepper *)sender
{
    double value = [sender value];

    //NSLog(@"%d",(int)value);

    NSLog(@"%.2f",selectedPrice);

    self.countLabel.text = [NSString stringWithFormat:@"%d",(int)value];

    int total = [self.priceForPopUp intValue];

    selectedPrice = value * total;

    self.priceLabel.text = [NSString stringWithFormat:@"%@%.2f", @"$" ,selectedPrice];

    NSLog(@"%.2f",selectedPrice);

}

UIStepperのプラス アイコンをクリックすると、次のようになりますNSLogselectedPrice

この場合、製品の開始価格は 35.00 です。

 35.00
 0.00
 70.00
 70.00
 105.00
 105.00
 140.00

また、上記のように数字が重複していることに気付きました。これはeコマースにとって大きな問題になるため、これはできません。

これが私のUIStepperです

UIStepper *stepper = [[UIStepper alloc]initWithFrame:CGRectMake(25, 75, 0, 0)];
        stepper.minimumValue = 1;
        stepper.tintColor = [UIColor blackColor];
        [stepper addTarget:self action:@selector(stepperForQuantity:) forControlEvents:UIControlEventTouchUpInside];
        [view addSubview:stepper];

次のビューに渡す

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
   // NSLog(@"prepareForSegue: %@",segue.identifier);
    PaymentViewController *transferToPayment = segue.destinationViewController;




    if ([segue.identifier isEqualToString:@"homeToPayment"]) {
       // NSLog(@"test home payment");

        transferToPayment.price = [NSString stringWithFormat:@"%.2f",selectedPrice];
        NSLog(@"Price passed %.2f",selectedPrice);

    }
}
4

1 に答える 1

0

UIControlEventValueChangedではなく、イベントに応答する必要がありますUIControlEventTouchUpInside

于 2015-09-05T09:20:01.997 に答える