2

假设我有 3UIStepper秒。
当我改变一个的值时,其他步进器的值会根据一个公式而改变。

步进器 1 的值为 10。
步进器 2 的值为 5。
步进器 3 的值为 3。

如果我更改步进器 10 +/- 1,它可能会更改步进器 2 +/- 1 中的值。

这可能吗?

4

2 回答 2

3

这是绝对可能的。

你可以想象这样的场景:

UIStepper *stepperOne = [[UIStepper alloc] initWithFrame:frame];
[stepperOne addTarget:self action:@selector(stepperOneChanged:) forControlEvents:UIControlEventValueChanged];

- (void)stepperOneChanged:(UIStepper*)stepperOne{
    //This method would be called on the target of your first stepper on UIControlEventsValueChanged

    //Decrease the value by 1
    stepperTwo.value --;

    //OR
    //Increase the value by 1
    stepperTwo.value ++;
}
于 2012-03-09T02:31:22.663 回答
0

斯威夫特 4.2

 override func viewDidLoad() {
    super.viewDidLoad()

    let stepper = UIStepper(frame: CGRect(x: 100, y: 200, width: 0, height: 0))
    stepper.wraps = true
    stepper.autorepeat = true
    stepper.maximumValue = 20
    stepper.addTarget(self, action: #selector(stepperValueChanged(_:)), for: .valueChanged)
    view.addSubview(stepper)
 }


@objc func stepperValueChanged(_ stepper: UIStepper) {
    print("Chnaged Value: \(stepper.value)")
    stepper.value += 2
    print("Chnaged Value: \(stepper.value)")
    
}
于 2018-12-06T06:24:43.140 回答