UIAlertController:addSubview

2024-01-03

我想向我的警报控制器添加一个子视图。但为什么按钮要放在顶部呢?我该如何解决这个问题?

    let alert = UIAlertController(title: nil, message: nil, preferredStyle: UIAlertControllerStyle.alert)

    let somethingAction = UIAlertAction(title: "Something", style: .default, handler: {(alert: UIAlertAction!) in print("something")})

    let cancelAction = UIAlertAction(title: "Annuler", style: .cancel, handler: {(alert: UIAlertAction!) in print("cancel")})

    alert.addAction(somethingAction)
    alert.addAction(cancelAction)

    let customView = UIView()
    customView.backgroundColor = .green
    customView.translatesAutoresizingMaskIntoConstraints = false
    customView.widthAnchor.constraint(equalToConstant: 128).isActive = true
    customView.heightAnchor.constraint(equalToConstant: 128).isActive = true

    alert.view.addSubview(customView)

    customView.centerXAnchor.constraint(equalTo: alert.view.centerXAnchor).isActive = true
    customView.topAnchor.constraint(equalTo: alert.view.topAnchor).isActive = true
    customView.bottomAnchor.constraint(equalTo: alert.view.bottomAnchor, constant: -32).isActive = true
    self.present(alert, animated: true, completion:{})

UIAlertController 是一个相当封闭的系统。其设计为系统标准警报。您不应该向其中添加子视图。

我将创建一个可以充当警报的自定义 UIViewController。您可以使用自定义 UIViewController 转换来使显示方式与 UIAlertController 相同。

还有许多 GitHub 项目提供您可能喜欢的自定义警报样式。比如这个:https://github.com/DominikButz/D​​YAlertController https://github.com/DominikButz/DYAlertController

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UIAlertController:addSubview 的相关文章

随机推荐

  • 遗传算法:如何在“子集”问题中进行交叉?

    我有一个问题正在尝试用遗传算法解决 问题是选择 100 个整数的某个子集 比如 4 这些整数只是代表其他内容的 id 顺序并不重要 问题的解决方案是一组整数而不是有序列表 我有一个很好的健身功能 但在交叉功能上遇到了麻烦 我希望能够将以下两
  • 如何从 UIColor 或 rgb 获取十六进制字符串

    现在我可以将十六进制字符串转换为 RGB 颜色 如下所示 Input is without the ie white FFFFFF UIColor colorWithHexString NSString hexString unsigned
  • jQuery AJAX 请求事件 - 完成、失败、成功

    我有这样的代码 var ajaxrequest ajax type POST dataType json url xy php data action read fail function something to do when ajax
  • PHP date() 仅适用于 1970 - 2038 年

    首先 这不是一个关于如何解决问题的问题 因为我的日期输出的是 1969 这是一个关于为什么在使用时不存在 1970 年之前或 2038 年之后的时间的问题date 我尝试过搜索 SO 和 Google 但结果是人们在使用时遇到错误date
  • React Native onLayout nativeEvent.layout.y 总是返回 0

    我正在创建一个视图网格 我正在使用纯柔性来做到这一点 即没有绝对定位 实际截图 我需要知道网格中每个视图的位置 为此我使用 onLayout 属性 问题是 evt nativeEvent layout 上的 y 值始终为零 其余值 x 高度
  • 导出 CSV 响应 laravel 5.5 并下载为 csv 文件

    我正在尝试使用 ajax 请求导出并下载 csv 文件中的一些数据 我能够以 json 响应输出数据进行测试 但无法将其下载到 data csv 文件中 以下是我到目前为止编写的代码 public function download Req
  • 为什么 Android aapt 会删除 asset 的 .gz 文件扩展名?

    当我将 GZIP 压缩文件添加到 Android 项目的资源中时 打包项目时 gz 扩展名将被删除 因此 例如 我的资产文件夹中的 foo gz 需要在代码中使用getAssets open foo 我使用的其他扩展名 例如 html 似乎
  • Xamarin 绑定类别返回错误:无法在静态类中声明实例成员

    我正在尝试绑定ReFrostedViewController https github com romaonthego REFrostedViewController到 c 我使用 Objective Sharpie 来生成界面 但是当我使
  • 调试 JBoss 100% CPU 使用率

    最初发布关于服务器故障 https serverfault com questions 122065 debugging jboss 100 cpu usage 有人建议这个问题最好在这里问 我们正在使用 JBoss 运行两个 WAR 一个
  • 关于 LoadFunc 的示例和更多说明

    在哪里可以找到有关 LoadFunc 的更多信息 示例 除了http web archive org web 20130701024312 http ofps oreilly com titles 9781449302641 load an
  • OpenCV 设置键盘事件回调

    我在 OSX 和 Ubuntu 系统上使用 C 中的 openCV 我想要一个等效的函数setMouseCallback但对于键盘事件 按下按键 据我所知 在 openCV 中执行此操作的方法是使用waitKey 但实际上它不能用作回调 因
  • 如何动态添加 ng-click 处理程序

    我尝试在之前生成的按钮 动态 上添加 ng click 但效果不佳 我也尝试过在这个论坛上找到的所有解决方案 但没有一个能很好地工作 我的html代码 div class container max height div content d
  • 等待'background-image' css样式完全加载

    我的应用程序正在 Angular 5 中开发 我想先加载背景图片 div class sign in 然后才加载页面的其余部分 已经尝试过 窗口加载 窗口 文档 onload document getElementById mainDiv
  • 如何在iPhone中实现VoIP+SIP? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想为 iPhone 开发 VoIP 应用程序 但我不知道 VoIP 概念的基础知识 也不知道是否有任
  • msbuild PackageReference.PrivateAssets = 全部似乎不起作用

    我有一个引用 NUnit3TestAdapter 的测试项目 我不会将此引用复制到依赖于此的项目 我认为设置 PrivateAssets All 就可以了 但显然我误解了它的工作原理 因为它没有达到预期的效果 这是代码 汇总 Rollup
  • Java中字符与int的转换

    您无法从 int 转换为 char 因此这是非法的int i 88 char c i 然而这是允许的char c 88 不是一个普通的数字并且int文字 这怎么被允许呢 char实际上是 Java 中的无符号 16 位整数类型 与其他整数类
  • 无法通过反射休眠获取字段值

    我在 jpa 中更新对象时遇到问题 我有 Bean 用户 public class User Id GeneratedValue strategy GenerationType IDENTITY Column name id unique
  • 访问Android的OBEX服务器并读取数据

    我想知道是否可以使用 Bluecove 从 Windows 的 Android OBEX 服务器读取数据 联系人 未接来电等 我在 Windows 中尝试了以下代码 但它返回OBEX HTTP NOT ACCEPTABLE连接时 据我所知
  • Marklogic 8 Windows 7 安装后登录

    我已在具有 8Gb 内存的 64 位 Windows 7 计算机上安装了 MarkLogic 8 服务器似乎运行良好 除了我无法登录之外 一切似乎都很好 使用 使用 Marklogic Server 或 管理 Marklogic Serve
  • UIAlertController:addSubview

    我想向我的警报控制器添加一个子视图 但为什么按钮要放在顶部呢 我该如何解决这个问题 let alert UIAlertController title nil message nil preferredStyle UIAlertContro