Dragging alternatives
On iOS, ensure that users who cannot perform precise dragging movements, such as those using assistive devices or with limited dexterity, can still access and interact with app features.
swift
class SliderViewController: UIViewController {
@IBOutlet weak var slider: UISlider!
@IBOutlet weak var moveLeft: UIButton!
@IBOutlet weak var moveRight: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
// Setup slider
}
// Alternative action to decrease
@IBAction private func decrease(sender: UIButton) {
slider.value = max(slider.value - 1, slider.minimumValue)
}
// Alternative action to increase
@IBAction private func increase(sender: UIButton) {
slider.value = min(slider.value + 1, slider.maximumValue)
}
} In SwiftUI, ensure that users who cannot perform precise dragging movements, such as those using assistive devices or with limited dexterity, can still access and interact with app features.
swift
struct SliderView: View {
@State private var sliderValue: Double = 50 // Initial value
var body: some View {
VStack(spacing: 24) {
// Slider
Slider(value: $sliderValue, in: 0...100, step: 1)
HStack {
// Alternative action to decrease
Button(action: {
sliderValue -= 1
}) {
Text("-1")
}
// Alternative action to increase
Button(action: {
sliderValue += 1
}) {
Text("+1")
}
}
}
}
}