[英]UIAlertController Slow to Appear and Dismiss - Swift
我正在开发使用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)
当我导航到该视图并第一次点击该单元格时,我会收到警报的抖动和缓慢加载,如下面的GIF所示。 有趣的是,随后的丝锥通常平稳且快速地加载。
编辑:GIF的帧率有点太慢,所以我附加了一些从它的慢速视频中拍摄的静止图像:
a)第一次点击“成绩考试”,该警报开始出现在屏幕中央,但随后向上(摇动)移至正确位置)。
b)随后的轻击,警报从一开始就显示在正确的上方位置。
2-警报关闭时键盘缓慢关闭
我已经在StackOverflow上看到了这个问题,没有真正令人满意的解决方案。 当您点击“取消”按钮时,警报将迅速消失,但是键盘也需要很长时间才能消失。 这应该是瞬时的,因为悬挂式键盘给用户留下了不好的印象。
从您提供的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)
}))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.