OStack程序员社区-中国程序员成长平台

标题: ios - UIAlertController 缓慢出现和关闭 - Swift [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 16:43
标题: ios - UIAlertController 缓慢出现和关闭 - 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)

当我导航到 View 并第一次点击单元格时,我会收到一个紧张而缓慢的警报加载,如下面的 GIF 所示。有趣的是,随后的点击加载通常会顺利且快速。

Jittery to appear

编辑:GIF 的帧速率有点太慢,所以我附上了一些从慢速视频中截取的剧照:

a) 第一次点击“Grade Exam”,警报开始出现在屏幕中央,但随后向上(突然)移动到正确的位置)。

enter image description here enter image description here

b) 后续点击,警报会从头开始出现在正确的上方位置。

enter image description here enter image description here

2 - 警报关闭时键盘关闭速度很慢

我在 StackOverflow 上都看到过这个问题,但没有真正令人满意的解决方案。当您点击取消按钮时,警报将快速关闭,但键盘也需要很长时间才能关闭。这应该是即时的,因为悬挂的键盘会给用户留下不好的印象。

Slow to dismiss keyboard



Best Answer-推荐答案


从您提供的 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/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4