美文网首页iOS开发点滴iOS Developer
iOS PresentViewController弹出页面延迟大

iOS PresentViewController弹出页面延迟大

作者: 沧冥海 | 来源:发表于2017-06-26 15:37 被阅读50次

    iOS PresentViewController弹出页面延迟大,不弹出

    场景

    设置页,当点击底部cell,退出登录时,弹出提示框,退出登录
    let action = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet)
    let actionViewFirst = UIAlertAction(title: "取消", style: .cancel, handler: nil)
    let actionViewSen = UIAlertAction(title: "确认退出", style: .destructive) { (alertAction) in
        self.showSpinner()
        // 请求退出登录
        self.viewModel?.getLogOut()
    }
    action.addAction(actionViewFirst)
    action.addAction(actionViewSen)
    self.present(action, animated: true, completion: nil)
    

    结果

    延迟比较大,有时弹不出来,随意点击又弹出来

    解决方法

    将 self.present(action, animated: true, completion: nil)手动放入主线程中处理
    DispatchQueue.main.async {
        self.present(action, animated: true, completion: nil)
    }
    

    结论

    present的方法,内部可能是异步处理

    相关文章

      网友评论

        本文标题:iOS PresentViewController弹出页面延迟大

        本文链接:https://www.haomeiwen.com/subject/enodnttx.html