【发布时间】:2016-04-25 05:37:54
【问题描述】:
我正在尝试显示 UIAlertContoller 并在 VoiceOver 用户执行擦洗手势时将其关闭:
override func accessibilityPerformMagicTap() -> Bool {
showPopup()
return true
}
override func accessibilityPerformEscape() -> Bool {
print("close")
return true
}
func showPopup(){
baseAlert = UIAlertController(title: "Popup", message: "Choose an option", preferredStyle: .Alert)
let firstAction = UIAlertAction(title: "method 1", style: .Default) { (alert: UIAlertAction!) -> Void in
print("one")
}
let secondAction = UIAlertAction(title: "method 2", style: .Default) { (alert: UIAlertAction!) -> Void in
print("two")
}
let thirdAction = UIAlertAction(title: "method 3", style: .Default) { (alert: UIAlertAction!) -> Void in
print("three")
}
let closeAction = UIAlertAction(title: "Close", style: .Destructive) { (alert: UIAlertAction!) -> Void in
print("close")
self.accessibilityPerformEscape()
}
baseAlert.addAction(firstAction)
baseAlert.addAction(secondAction)
baseAlert.addAction(thirdAction)
baseAlert.addAction(closeAction)
baseAlert.accessibilityHint = "Pop menu"
presentViewController(baseAlert, animated: true, completion:
{
self.textField.becomeFirstResponder()
}
)
}
上面的代码显示了UIAlertController,当我执行擦洗手势时,它不会对它做出反应,但是当警报未显示或解除时,转义手势有效。
【问题讨论】:
标签: swift uiaccessibility