首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

显示UIAlertController (以actionsheet样式)导致神秘的自动布局警告

UIAlertController是iOS开发中常用的弹窗控件,用于显示各种提示、警告、确认等信息。它可以以多种样式展示,其中一种样式就是actionsheet样式。

当我们在使用UIAlertController以actionsheet样式显示时,有时会遇到自动布局警告的问题。这个警告通常是由于UIAlertController的展示方式导致的,它会尝试自动调整视图的布局以适应actionsheet的样式。

解决这个问题的方法是通过在UIAlertController的展示代码中添加一些布局相关的设置。具体来说,可以通过设置UIAlertController的popoverPresentationController属性来指定它的来源视图和来源矩形,从而避免自动布局警告的出现。

下面是一个示例代码,展示了如何使用UIAlertController以actionsheet样式显示,并避免自动布局警告:

代码语言:txt
复制
// 创建UIAlertController
let alertController = UIAlertController(title: "标题", message: "消息内容", preferredStyle: .actionSheet)

// 添加UIAlertAction
let action = UIAlertAction(title: "确定", style: .default, handler: nil)
alertController.addAction(action)

// 设置来源视图和来源矩形
if let popoverPresentationController = alertController.popoverPresentationController {
    popoverPresentationController.sourceView = self.view
    popoverPresentationController.sourceRect = CGRect(x: self.view.bounds.midX, y: self.view.bounds.midY, width: 0, height: 0)
    popoverPresentationController.permittedArrowDirections = []
}

// 展示UIAlertController
self.present(alertController, animated: true, completion: nil)

在上述代码中,我们通过设置popoverPresentationController的sourceView和sourceRect属性,将UIAlertController的来源视图和来源矩形设置为self.view,并将permittedArrowDirections属性设置为空数组,从而避免了自动布局警告的出现。

这样,当我们使用UIAlertController以actionsheet样式显示时,就不会出现神秘的自动布局警告了。

推荐的腾讯云相关产品:腾讯云移动推送(https://cloud.tencent.com/product/umeng_push)、腾讯云移动分析(https://cloud.tencent.com/product/mobile_analysis)、腾讯云移动测试(https://cloud.tencent.com/product/mts)、腾讯云移动直播(https://cloud.tencent.com/product/mlvb)。

以上是关于显示UIAlertController (以actionsheet样式)导致神秘的自动布局警告的完善且全面的答案。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 微信小程序开发实战(16):交互组件

    例如,下面的布局代码放置了4个普通按钮和一个“取消”按钮,效果就是图1所示样式。...通过标签hidden属性可以控制ActionSheet显示和隐藏,该属性值为true,表示隐藏ActionSheet,为false,表示显示ActionSheet。...图3 带图像ActionSheet 2 对话框 在小程序中,对话框需要使用标签。与Android、iOS不同是,这些对话框需要实现摆放在布局文件中,默认是隐藏状态。...例如,下面的布局代码放置了两个标签,并通过点击相应按钮显示其中一个对话框。...如果指定了no-cancel属性,不会显示取消按钮。 现在分别点击第一个按钮和第二个按钮,会显示如图4和图5所示对话框。 ? 图4 带“确定”和“取消”按钮对话框 ?

    89420

    iOS 9人机界面指南(四):UI元素(下)- 腾讯ISUX

    使用信息按钮来显示app配置信息或选项。你可以根据自己appUI风格来选择最为协调信息按钮样式。 4.3.6 标签 标签用于放置静态文本。 ?...如果你需要显示一个音量滑块,当你使用MPVolumeView类时候请使用系统提供音量滑块。请注意,当当前活动音频输出设备不支持音量控制时,音量滑块适当设备名称替换。...但请注意,由于键盘布局以及输入方法是由用户系统语言设置决定,这是你不能控制。 4.4临时视图 4.4.1 警告警告框用于告知用户一些会影响到他们使用app或设备重要信息。 ?...API提示: 如需在代码中使用警告框,你可以创建UIAlertController并且指定UIAlertControllerStyleAlert....如果你在警告框中设计了太多按钮,它也许会导致警告框被强制滚动,这也是一个非常糟糕体验。 ? 提示 如果你需要在警告框中给与用户超过2个选项,可以考虑使用操作列表来代替警告框。 正确地放置按钮。

    13.2K30

    【React-Native】React-Native组件样式合集

    2.其中有部分样式是在默认样式基础上经过修饰,同时不能确定这是否是RN最新版本呈现方式,但是万变不离其宗,一般来说形态不会发生很大变化 FlatList和SectionList 和一般化用途ScrollView...不同,下面的列表组件只会渲染当前屏幕可见元素,这样有利于显示大量数据。...ActionSheetIOS 从设备底部弹出一个显示一个ActionSheet弹出框选项菜单或分享菜单。 AlertIOS 弹出一个提示对话框,还可以带有输入框。...ViewPagerAndroid 可左右翻页滑动视图容器。 ActivityIndicator 显示一个圆形正在加载符号。 Alert 弹出一个提示框,显示指定标题和信息。...KeyboardAvoidingView 一种视图容器,可以随键盘升起而自动移动。 Modal 一种简单覆盖全屏模态视图。

    2.3K20

    Swift| 基础语法(五)

    对象、并使用ViewController界面布局文件来 // 初始化该视图控制器关联用户界面 let vc = ViewController() //通过控件加载视图...register(MyNewTableViewCell.self, forCellReuseIdentifier: "myCell") 当注册了Cell之后,在没有可重用Cell时会自动创建,并且不能在需要时手动创建...UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { //创建cell,不需要判断是否为空,当没有可重用cell时候会自动创建...可以在自定义cell中处理点击状态下显示 var label1 :UILabel? var label2 :UILabel?...,选中是蓝色,下面修改成橙色: //图片文字一起变色 self.tabBar.tintColor = UIColor.orangeColor() 如何显示原始图片颜色和图案?

    2K30

    NuxtVue自定义弹窗模板VPopup组件|仿ios弹窗

    VPopup自定义弹窗 一个汇聚了Vant及NutUI中 Msg信息框、Popup弹出层、Notify通知信息、Dialog对话框、ActionSheet动作面板框及Toast弱提示框 等功能。...image.png 提供了基本 Msg 信息框、ActionSheet 底部面板框、Android/IOS 弹窗风格、Toast 弱提示框。支持上 /下 /左 /右弹出层,右键 /长按弹窗。...-- 询问框 --> <v-popup v-model="showConfirm" shadeClose="false" title="<em>警告</em>信息" xclose z-index="2001" content...-- ActionSheet底部菜单 --> <v-popup v-model="showActionSheet" anim="footer" type="<em>actionsheet</em>" :z-index="...| android/ios) popupStyle 自定义弹窗<em>样式</em> icon toast图标(loading | success | fail) shade 是否<em>显示</em>遮罩层

    3.3K10

    微信小程序自定义模态弹窗(wcPop)|多种弹窗样式

    【首发】微信小程序自定义弹窗增强版|仿微信弹窗样式|toast自定义图标弹窗|微信小程序底部弹窗 在平时微信小程序开发中,弹窗应用场景还是蛮广泛,如果你刚好项目开发中用到的话,希望对你有用~ 很早之前就想写一个小程序自定义弹窗扩展练练手...,但是由于时间关系,一直没有真正开发(其实就是懒)。...}); }, //询问框 btnTap04: function(e) { wcPop({ title: '温馨提示~~~', content: '警告...skin: '', //自定弹窗显示风格 ->目前支持配置 toast(仿微信toast风格)、footer(底部对话框风格)、actionsheet(底部弹出式菜单)、ios...| right | bottom | left) follow: null, //跟随定位(适用于长按跟随定位) time: 0, //设置弹窗自动关闭秒数

    13K23

    【IOS 开发】基本 UI 控件详解 (UISegmentedControl | UIImageView | UIProgressView | UISlider | UIAlertView )

    设置图片显示属性 :  -- image (普通) : 访问或设置该控件显示图片; -- HighlightedImage (高亮) : 设置图片处于 高亮状态 时显示图片; (3) 动画显示方法...//创建 可拉伸图片, 平铺样式 UIImage * trackImage = [[UIImage imageNamed:@"Snip20151210_139.png"] resizableImageWithCapInsets...; (3) Behavior 属性 Behavior 属性 :  -- Animating : 显示出来后立即转动; -- Hides When Stopped : 停止时自动隐藏; (4) UIActivityIndicatorView...//创建 可拉伸图片, 平铺样式 UIImage * trackImage = [[UIImage imageNamed:@"Snip20151210_139.png"] resizableImageWithCapInsets..., 按钮等信息, 按钮监听需要创建 UIAlertView UIAlertViewDelegate 委托对象; -- 显示 UIAlertView : 调用显示 UIAlertView 显示方法;

    2.9K40

    抛弃UITableView,让所有列表页不再难构建

    开始 小明是A公司iOS程序员,刚入职不久,A公司产品经理想出来一个新需求,正好安排给小明完成。 产品经理提出要做一个feed流页面,显示用户所关注其他所有用户动态。...传统实现 第一个需求:显示用户名和文字内容 产品经理说了用户只能发文字内容,所以列表页也只需要显示用户名和文字内容,就像图片所示, 小明一看这设计图,so easy,UITableView...产品经理还要求内容默认显示一行,超过省略号表示,点击上去再全部显示,小明想这也容易,在FeedCellModel中加一个表示是否展开bool量isExpand,然后didSelect代理方法中改变这个值并且...: UILabel func init(frame: CGRect) { ///再加几行布局favorBtn和favorLable代码 } func favorClick(_ sender...= UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet) actionSheet.addAction

    1.6K30

    滴滴开源基于 Vue.js 移动端组件库 cube-ui

    ● 体验极致:迅速响应、动画流畅、接近原生为目标,在交互体验方面追求极致。 ● 标准规范:遵循统一设计交互标准,高度还原设计效果;接口标准化,统一规范使用方式,开发更加简单高效。...通过在Tip组件上添加ref属性,获得对于组件引用,然后调用Tip组件向外暴露出来 show、hide 方法来控制组件显示或隐藏。...ActionSheetActionSheet操作列表提供了两种常见样式,灵活可控内容。...style:样式部分,如果你是在按需引入使用场景下,那么建议在入口文件处也要引入这个模块,因为它包含基础 reset、基础通用样式以及内置 icon。...使用 全部引入,一般在入口文件中: 按需引入: 注意:按需引入的话,是不会打包基础样式部分,所以在使用时候需要引入 style 模块。 示例

    2.8K00

    TDesign 更新周报(2022 年 4 月第 4 周)

    存在不兼容更新 Bug Fixes Drawer:修复 header 属性无效问题 Textarea:修复在设置自动高度后,赋值后不高度不改变问题 DatePicker:修复当传入值为非日期格式情况页面卡死问题...,存在不兼容更新 Bug Fixes Select: 修复多选+可搜索条件下输入问题 修复 multiple 模式删除问题 Progress:修复 trackColor 默认值导致背景色显示错误问题 Dialog...:修复 destroyOnClose 为 true 时 visible 失效问题 Layout:修复 ts 类型警告 table:修复 pagination 数据同步问题 Features Card:新增...Card 组件 ColorPicker:新增 ColorPicker 组件 Table:重构 table 组件, 修复众多问题 Divider:优化文本模式在竖型模式下样式问题 详情见:https:/...Features ActionSheet:新增动作面板组件 NoticeBar:新增公告栏组件 详情见:https://github.com/Tencent/tdesign-miniprogram/releases

    2.3K40

    iOS隐私安全之通过popup向用户索取Apple ID和密码

    因此,这种提示可以被任意一个app滥用,通过UIAlertController就可以很简单实现,效果看起来和系统对话框一模一样。...即使了解一点钓鱼攻击用户也很难在很短时间内发现这些警告(提示)是钓鱼攻击。...建议 因此,这种提示可以被任意一个app滥用,通过UIAlertController就可以很简单实现,效果看起来和系统对话框一模一样。...当系统要求用户输入Apple ID和密码时,让用户在打开系统设置后输入; 修复该问题根本在于,系统不应该经常要求用户输入ID和密码; 应用中对话框应该在顶端显示app标志,来跟系统对话框区分开;...可以在得到同意后,自动执行恶意代码; 用远程配置工具来配置一个只有Apple通过后才执行特征; 使用基于时间触发器,只有当app通过审核或拒绝后才执行; 手机钓鱼攻击 手机钓鱼攻击会变得越来越常见。

    1.5K50

    This application is modifying the autolayout engine from a background thread, which can lead to engi

    然后在解析了从服务器返回信息后,直接new了UIAlertView对象,准备弹窗提示,这时候控制台打印了一串异常信息: This application is modifying the autolayout...下面还有一串好长日志: This application is modifying the autolayout engine from a background thread, which can...翻译过来大概是指说在一个异步线程修改了应用程序布局,将会引起崩溃异常。。。。 然后反省了一下,记起以前师傅说过的话:耗时操作放在异步线程上,更新UI要放在主线程上。...我这里出现这个原因应该是:我在异步访问了一个网络请求后,解析从服务器返回信息,然后马上就new了一个UIAlertView对象,准备弹窗提示, 这相当于在一个异步线程里面对UI进行了更新,所以导致出现了异常警告...正确作法是,异步访问了网络请求后, 如果想new个UIAlertView进行弹窗提示,应该去主线程进行。。。

    1.5K30

    TDesign 更新周报(2022年5月第4周)

    normal风格下无效 ColorPicker:点击panel会关闭问题 Select:修复 option显示问题 Affix:兼容场景 详情见:https://github.com...Collapse:修复 t-class 外部样式类无法使用问题 DropdownMenu:修复 label 无法实时更新问题 Sticky:修复吸顶后 tabs 无法滑动问题 Tabbar:补充缺失...设计资源 Figma for Mobile 发布 1.0.4 Features 新增7类组件:Fab悬浮按钮 / Drawer抽屉 / DropdownMenu下拉菜单 / Actionsheet动作面板.../ Collapse折叠面板 / Preview图片预览 / Noticebar公告栏 Bug Fixes Button:补充样式类型,优化展示布局 Datetimepicker:补充秒、星期展示,...优化布局规则及autolayout实现 Picker:优化布局规则及 autolayout 实现 Progress:补充按钮带进度样式类型 Swiper:补充轮播控件方位特性 Skeleton:补充样式类型

    1.7K30

    WKWebView 那些坑

    WKWebView Cookie问题在于WKWebView发起请求不会自动带上存储于NSHTTPCookieStorage容器中Cookie。...2.3、Workaround 空间许多H5业务都依赖于Cookie作登录态校验,而WKWebView上请求不会自动携带Cookie, 目前主要解决方案是: a、WKWebView loadRequest...,最后将加载结果返回WKWebView; 5、WKWebView 页面样式问题 在WKWebView适配过程中,我们发现部分H5页面元素位置向下偏移或被拉伸变形,追踪后发现主要是H5页面高度值异常导致:...= a,那么contentSize.height值会增加a,导致H5页面长度增加,页面元素位置向下偏移;解决方案是调整WKWebView布局方式,避免调整webView.scrollView.contentInset...如果某些特殊情况下非得调整contentInset不可的话,可以通过下面方式让H5页面恢复正常显示: /*设置contentInset值后通过调整webView.frame让页面恢复正常显示 *参考

    17.3K21
    领券