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

iOS -重新创建UIActionSheet / UIAlertController拖动以高亮显示

在iOS中,UIActionSheet和UIAlertController是用于显示弹出菜单和警告框的两个常用类。在较新的iOS版本中,UIActionSheet已被UIAlertController所取代。

UIActionSheet是一个弹出菜单,用于显示一系列选项供用户选择。它通常在用户长按某个元素或点击某个按钮后出现。UIActionSheet可以包含多个按钮,每个按钮都可以执行相应的操作。它的主要优势是简单易用,适用于需要提供多个选项供用户选择的场景。

UIAlertController是一个更加灵活和强大的弹出框控制器,可以用于显示警告、确认和输入框等不同类型的弹出框。它可以包含多个按钮和文本输入框,并且可以根据用户的选择执行相应的操作。UIAlertController的优势在于可以满足更多不同类型的弹出框需求,并且提供更多的自定义选项。

在重新创建UIActionSheet或UIAlertController时,可以通过拖动来实现高亮显示。具体步骤如下:

  1. 创建一个新的UIActionSheet或UIAlertController实例。
  2. 设置弹出菜单或警告框的标题、消息和样式等属性。
  3. 为弹出菜单或警告框添加按钮,并为每个按钮设置相应的操作。
  4. 通过设置代理或使用闭包回调来处理用户的选择。
  5. 在需要的地方调用presentViewController:animated:completion:方法来显示弹出菜单或警告框。

以下是一些相关的腾讯云产品和产品介绍链接地址,可以用于在云计算环境中创建和管理iOS应用:

  1. 腾讯云移动应用开发平台:提供了一站式的移动应用开发解决方案,包括移动后端云服务、移动应用测试和分析等。详情请参考腾讯云移动应用开发平台
  2. 腾讯云移动推送:用于向iOS设备发送推送通知,支持个性化推送和定时推送等功能。详情请参考腾讯云移动推送
  3. 腾讯云移动直播:提供了一套完整的移动直播解决方案,包括推流、拉流、录制和播放等功能。详情请参考腾讯云移动直播

请注意,以上仅为腾讯云的一些相关产品,其他云计算品牌商也提供类似的解决方案。

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

相关·内容

  • iOS8统一的系统提示控件——UIAlertController

    相信在iOS开发中,大家对UIAlertView和UIActionSheet一定不陌生,这两个控件在UI设计中发挥了很大的作用。然而如果你用过,你会发现这两个控件的设计思路有些繁琐,通过创建设置代理来进行界面的交互,将代码逻辑分割了,并且很容易形成冗余代码。在iOS8之后,系统吸引了UIAlertController这个类,整理了UIAlertView和UIActionSheet这两个控件,在iOS中,如果你扔使用UIAlertView和UIActionSheet,系统只是会提示你使用新的方法,iOS9中,这两个类被完全弃用,但这并不说明旧的代码将不能使用,旧的代码依然可以工作很好,但是会存在隐患,UIAlertController,不仅系统推荐,使用更加方便,结构也更加合理,作为开发者,使用新的警示控件,我们何乐而不为呢。这里有旧的代码的使用方法:

    01

    idea快捷键

    ==Ctrl== Ctrl + Y 删除行 ctrl + X 剪切行 Ctrl + N 查找类 Ctrl + R 替换 Ctrl + O 选择可覆盖/继承的方法 Ctrl + F 当前代码(文件)中查找 Ctrl + J 自动代码提示(提示的是自己定义的代码格式) Ctrl + D 复制行或是块(默认是这个意思)(但是我一般习惯改成专门复制行,不包括块,搜索Duplicate Lines) Ctrl + P 方法参数提示显示 Ctrl + W 选中光标所在的单词 ,连续按会有其他效果 (相反的是Ctrl+Shift+W) Ctrl + Q 鼠标放在变量/类名/方法名等上面(也可以在提示补充的时候按),显示文档内容,同类似的功能还有一个Ctrl + Shift + I Ctrl + B 快速打开光标处的类或方法(对于前端支持很好,比如可以直接通过class的name定位到css的文件位置)(等同于ctrl+光标指向) Ctrl + E 最近打开的文件 Ctrl + U 前往父类的方法/父类 Ctrl + K VCS提交项目 Ctrl + T VCS更新项目 Ctrl + G 跳到指定行 Ctrl + H 显示类层次图 Ctrl + F1 显示错误 Ctrl + F3 调转到所选中的词的下一个同名位置 Ctrl + F9 编译 Ctrl - F12 当前编辑的文件中快速导航(可以直接键入字母,IntelliJ IDEA会筛选你输入的来匹配对应是否有的方法,来快速定位)(类似结构图) Ctrl + F11 弹出一个小框来指定式添加书签(可以对文件或文件夹起作用) Ctrl + Tab 编辑窗口切换 (如果在切换的过程又加按上delete,则是关闭对应选中的窗口) Ctrl + delete 删除光标后面的单词 Ctrl + home/end 跳到文件头文件尾 Ctrl + BackSpace 删除光标前面的单词 Ctrl + [ 或 ] 移动光标到块的初/末括号地方 Ctrl + / 或 Ctrl+Shift+/ 注释(// 或者/.../ ) Ctrl + 1,2,3,4.... 快速定位到书签代码处(必须先Ctrl+Shift+1,2,3,4...添加书签) Ctrl + 空格 代码补全提示(因为windows默认被输入法给占用了,可以自己更改下) Ctrl + 小键盘+/- 折叠/展开代码 Ctrl + 鼠标单击编辑窗口的文件标题 弹出该文件路径,可以通过这个打开文件所在地方(相当于Ctrl+alt+F12) Ctrl + 方向左/右 光标跳到上/下个单词 Ctrl + 方向上/下 相当于你用鼠标滑滚轮(为了方便鼠标党) ================================================== ==Alt== Alt + 1 打开/关闭project选项卡 Alt + 这个键是Tab上面那个,按下之后,如果项目有版本控制,则显示常用的版本控制命令 Alt + A 在SVN中把新创建的文件加入进来(自己添加,在Subversion类别) Alt + Q 查看方法的声明(在左上角出现一个Tip层提示),你无需滚动上去查看 Alt + F1 弹出文件选择目标,这个很好用的 Alt + F2 多个浏览器预览 Alt + F3 选中文本,逐个往下查找相同文本,并高亮显示。 Alt + F7 查看该方法/变量/类被调用的地方 Alt + F8 在debug的状态下,选中某些变量或是对象,按此快捷键弹出可输入变量、方法的调试框,指定查看该内容的debug情况 Alt + Home 跳到文件导航bar Alt + Insert 生成代码(如get,set方法,构造函数等) Alt + 方向键 左 或 方向键 右 切换当前打开的代码文件视图 Alt + 方向键 上 或 方向键 下 在方法间快速移动定位 Alt + 鼠标左键单击不放,拖动 可以直接方块区域选择(很有用) Alt + 回车 快速修复(可以用来导入单个包) ================================================== ==Shift== Shift + F6 重构:重新命名 Shift + F11 查看书签 Shift + F10 Run(运行)当前程序,相当于点击run按钮 Shift + F9 debug当前程序,相当于点击debug按钮 Shift + end 选中从光标到end处 Shift + home 选中从光标到home处 Shift + Enter 光标所在行下空出一行,光标跳下 Shift + 单击 可以关闭文件 Shift + 滚轮 横向滚动轴滚动(非常强大)

    05

    关于视图在切圆角时候的导致的性能下降的一些探讨

    iOS 中有的时候我们控件要做成圆形 或者是切成圆角,这个时候我们一般都会使用.layer.cornerRadius  ->  clipsToBounds = YES 的属性来切,这样完全能达到我们的效果,但是如果一个界面上需要切圆角的控件很多,并且列表很长的时候,尤其是像 tableView 那样如果每一个 cell 上都有大量的控件需要切,那么就会非常卡顿,帧数严重下降 。其实原因就是这样设置会触发离屏渲染,比较消耗性能。注意:png 图片 UIImageView 处理圆角是不会产生离屏渲染的。(ios9.0 之后不会离屏渲染,ios9.0 之前还是会离屏渲染)。这里先说下离屏渲染: ###### iOS 的渲染机制: CPU 计算好显示内容提交到 GPU,GPU 渲染完成后将渲染结果放入帧缓冲区,随后视频控制器会逐行读取帧缓冲区的数据,经过可能的数模转换传递给显示器显示。GPU 屏幕渲染有以下两种方式: On-Screen Rendering 意为当前屏幕渲染,指的是 GPU 的渲染操作是在当前用于显示的屏幕缓冲区中进行。 Off-Screen Rendering 意为离屏渲染,指的是 GPU 在当前屏幕缓冲区以外新开辟一个缓冲区进行渲染操作。 由以上可以看出离屏渲染需要重新开辟新的缓存空间,必定要更加消耗资源。 通过查资料目前知道了设置了以下属性时,都会触发离屏绘制: shouldRasterize(光栅化) masks(遮罩) shadows(阴影) edge antialiasing(抗锯齿) group opacity(不透明) 复杂形状设置圆角等 渐变 我用一个现有的小 DEMO 来测试下,因为这个 demo 中没有切圆角,但是有阴影,一样可以出发离屏渲染,所以效果是一样的,在 tableView 中的自定义 cell 类中我设置了阴影如图:

    05
    领券