我正在使用 Swift 开发 iOS 应用程序,但遇到两个 UIAlertController 速度很慢的问题!
1 - 缓慢而紧张的出现
我已经设置了一个 UITableViewController,当我点击一个单元格时,它会触发以下代码:
let alertController = UIAlertController(title: "Enter Exam Grade", message: nil, preferredStyle:UIAlertControllerStyle.Alert)
alertController.addTextFieldWithConfigurationHandler({(textField: UITextField) in
textField.placeholder = "Earned"
textField.keyboardType = .NumberPad
})
alertController.addTextFieldWithConfigurationHandler({(textField: UITextField) in
textField.placeholder = "Out of"
textField.keyboardType = .NumberPad
})
alertController.addAction(UIAlertAction(title: "Save", style: UIAlertActionStyle.Default, handler: {
(alert: UIAlertAction) in
if let gradeTextField = alertController.textFields!.first as UITextField? {
if let outOfTextField = alertController.textFields!.last as UITextField? {
if (gradeTextField.text != "" && outOfTextField.text != "") {
print(gradeTextField.text)
print(outOfTextField.text)
}
}
}
}))
alertController.addAction(UIAlertAction(title: "Cancel", style: .Cancel, handler: nil))
self.presentViewController(alertController, animated: true, completion: nil)
当我导航到 View 并第一次点击单元格时,我会收到一个紧张而缓慢的警报加载,如下面的 GIF 所示。有趣的是,随后的点击加载通常会顺利且快速。
编辑:GIF 的帧速率有点太慢,所以我附上了一些从慢速视频中截取的剧照:
a) 第一次点击“Grade Exam”,警报开始出现在屏幕中央,但随后向上(突然)移动到正确的位置)。
b) 后续点击,警报会从头开始出现在正确的上方位置。
2 - 警报关闭时键盘关闭速度很慢
我在 StackOverflow 上都看到过这个问题,但没有真正令人满意的解决方案。当您点击取消按钮时,警报将快速关闭,但键盘也需要很长时间才能关闭。这应该是即时的,因为悬挂的键盘会给用户留下不好的印象。
Best Answer-推荐答案 strong>
从您提供的 gif 文件来看,您的键盘启动似乎是“正常的”。但是假设它很慢,如果它加载得更快,也许你可以试试这个。
顺便提一下,我没有尝试过这段代码并从这里输入。
用于键盘显示缓慢。
textField.placeholder = "Out of"
textField.keyboardType = .NumberPad
textField.becomeFirstResponder()
用于缓慢隐藏键盘。
alertController.addAction(UIAlertAction(title: "Cancel", style: .Cancel, handler: {
(alert: UIAlertAction) in
self.view.endEditing(true)
}))
关于ios - UIAlertController 缓慢出现和关闭 - Swift,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/37801790/
|