账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    ios的alertController怎么显示到最前方?
    47
    0

    我是通过点击一个view中的一个按钮显示出alertController,但是会被view遮挡住。怎么才能让alert提示框显示在最前面?### 问题描述

    问题出现的环境背景及自己尝试过哪些方法

    相关代码

    // 请把代码文本粘贴到下方(请勿用图片代替代码)

    你期待的结果是什么?实际看到的错误信息又是什么?

    1
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 听够假话 普通会员 1楼

      在iOS中,AlertController是一个显示通知或警告的系统UI组件,可以通过设置其显示位置来控制其在视图中的显示顺序。以下是在AlertController中将显示到最前方的几种方法:

      1. 默认显示位置: 默认情况下,AlertController的显示位置是在视图的顶部。可以通过设置其hidden属性为NO来改变其显示位置。以下是一个示例代码:

      swift let alertController = UIAlertController(title: "Alert", message: "This is an alert", preferredStyle: .alert) alertController.hide = false alertController.action = .alertAction alertController.popoverPresentationController?.sourceRect = CGRect(x: 0, y: 0, width: 320, height: 480) present(alertController, animated: true, completion: nil)

      在这个示例中,AlertController的hidden属性被设置为NO,这意味着其将显示在视图的顶部。

      1. 首先显示: 如果你想要在AlertController的开头显示,可以将它的hidden属性设置为YES,并且在它的action属性中设置present方法的参数为animatedNO。以下是一个示例代码:

      swift let alertController = UIAlertController(title: "Alert", message: "This is an alert", preferredStyle: .alert) alertController.hide = false alertController.action = .alertAction alertController.popoverPresentationController?.sourceRect = CGRect(x: 0, y: 0, width: 320, height: 480) alertController.show = true present(alertController, animated: false, completion: nil)

      在这个示例中,AlertController的show属性被设置为true,这意味着其将显示在视图的顶部。

      1. 显示到最前: 如果想要在AlertController的最前端显示,可以使用UIViewsetContentOffset方法来改变其在视图中的位置。以下是一个示例代码:

      swift let alertController = UIAlertController(title: "Alert", message: "This is an alert", preferredStyle: .alert) alertController.hide = false alertController.action = .alertAction alertController.popoverPresentationController?.sourceRect = CGRect(x: 0, y: 0, width: 320, height: 480) let alertView = alertController.view alertView.contentOffset = CGPoint(x: 0, y: 0) present(alertController, animated: true, completion: nil)

      在这个示例中,alertView是AlertController的视图,它使用contentOffset方法将其在视图中的位置设置为CGPoint(x: 0, y: 0),这将使得AlertController在视图的最前端显示。

      请注意,这些方法都会改变AlertController的hidden属性,因此在应用中应谨慎使用,以确保不会导致用户体验不佳或界面混乱。在一些情况下,你可能需要将AlertController的内容添加到View的superviewcontent视图的前面,这通常通过使用containerView.addSubview(alertController)content.addSubview(alertView)方法来实现。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部