UIAlertController对于iOS来说,有两种首选样式preferredstyle。
一种是——对话框:
一种是——上拉菜单:
开发实现一个Alert对话框,需要以下要素:
- 对话框的title、message
- 对话框的按钮title、按钮对应的动作样式style、动作对应的下一步handler
- 对话框出现的逻辑
PS:
iOS规范中,针对对话框的按钮动作,分为了三种:默认default、取消cancel、警示 destructive(自动标红)
警示.png
开发实现一个sheet上拉菜单,需要以下要素:
- 对话框的按钮title、按钮对应的动作样式style、动作对应的下一步handler
- 对话框出现的逻辑
PS:
1、和对话框不同的是,上拉菜单在不同设备上显示的形式不一样。在iPhone(紧缩宽度)上从底部升起,在iPad(常规宽度)上以弹出框的形式展现。
对于常规宽度的设备来说,弹出框的出现,需要依赖一个源视图或者源按钮作为锚点(anchor point)来触发。这个时候上拉菜单是以一个固定在源按钮上的弹出框的形式显示的。
上拉菜单-常规宽度.png
此时,UIAlertController在使用弹出框的时候自动移除了取消按钮。用户通过点击弹出框的外围部分来实现取消操作,取消按钮便不再必需。
2、如果上拉菜单中有一个动作样式是取消,则取消一定会在菜单底部,不论在开发时,取消的添加次序是在哪一位。
参考资料:
CocoaChina 对应地址:[http://www.cocoachina.com/ios/20141126/10320.html]
问题:
动作按钮可以只有一个吗?
message最多多少个字?
title最多多少个字?
网友评论