I am wondering how we could check if the new iOS 10 API UIFeebackGenerator is available on the current device. There are some more things we would need to check
This will work for iPhone 7 and Above.
var count = 0
override func viewDidLoad() {
super.viewDidLoad()
let myButton = UIButton(frame: CGRect(x: 0, y: 100, width: 100, height: 50))
myButton.setTitleColor(UIColor.green, for: .normal)
myButton.setTitle("Press ME", for: .normal)
myButton.addTarget(self, action: #selector(myButtonTapped), for: .touchUpInside)
self.view.addSubview(myButton)
}
@objc func myButtonTapped() {
count += 1
print("Count \(count)")
switch count {
case 1:
let generator = UINotificationFeedbackGenerator()
generator.notificationOccurred(.error)
case 2:
let generator = UINotificationFeedbackGenerator()
generator.notificationOccurred(.success)
case 3:
let generator = UINotificationFeedbackGenerator()
generator.notificationOccurred(.warning)
case 4:
let generator = UIImpactFeedbackGenerator(style: .light)
generator.impactOccurred()
case 5:
let generator = UIImpactFeedbackGenerator(style: .medium)
generator.impactOccurred()
case 6:
let generator = UIImpactFeedbackGenerator(style: .heavy)
generator.impactOccurred()
default:
let generator = UISelectionFeedbackGenerator()
generator.selectionChanged()
count = 0
}
}