Вы можете использовать оператор switch внутри @IBAction, присоединенного к вашему степперу, например:
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
testStepper.minimumValue = -1.0
testStepper.maximumValue = 1.0
testStepper.value = 0
testStepper.autorepeat = false
}
@IBOutlet weak var testStepper: UIStepper!
@IBAction func testStepperHandler(_ sender: Any) {
switch testStepper.value {
case 1.0:
// add your item here
print("Item added")
testStepper.value = 0
default:
// remove your item here
print("Item removed")
testStepper.value = 0
}
}
}
Даже если нет прямого способа получить доступ к тому, увеличен или уменьшен степпер, мы можем обойти это ограничение, превратив степпер в своего рода «бинарное весло», ограничив свойства, к которым мы можем получить доступ в viewDidLoad()
: установив значение минимального значения -1,0 и maximumValue
равным 1,0 и начальное значение 0. Затем нам нужно сбросить значение степпера на 0 независимо от того, какой путь выберет оператор switch. Когда пользователь увеличивает шаговый шаг, будет возвращено значение 1, и код в первом случае будет выполнен. Поскольку есть только 2 значения, которые могут быть возвращены (1,0 для приращения или -1,0 для приращения), мы можем просто использовать значение по умолчанию для обработки всех других случаев.