【小弟我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记39 Alert&ActionSheet

【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记39 Alert&ActionSheet

Alert和ActionSheet是IOS中弹出消息的两个工具。
首先它们都是Modal的方式展示的。
【小弟我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记39 Alert&ActionSheet
Alert用来向用户发起询问,可以有一个(比如取消)或两个选项(比如确定和取消),也可以附带一个文本框(比如要求用户输入密码)
Action Sheet从屏幕底部滑出,提供一些分支的选项,选项的数量可以大于两个。
对比如图:
【小弟我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记39 Alert&ActionSheet
Action Sheet和Alert都可以使用UIAlertController来创建,比如创建一个Action Sheet,在构造器中制定它的title和简介,注意Style选择ActionSheet:
【小弟我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记39 Alert&ActionSheet

至于Action Sheet中的栏目你需要单独添加,使用UIAlertAction构造器:
【小弟我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记39 Alert&ActionSheet
在IOS的API中,handler就是一个闭包。
详细的情况如下图:
【小弟我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记39 Alert&ActionSheet
注意到Clouseup of Sun是红色的,这不是我们设置了它的颜色,而是它的类型是Destructive,如果你想要让某个栏目起到关闭的作用,选择这种style,最后cancle也是一种类型,可以看到它明显是独立于上面的栏目的。点击cancel可以返回之前的页面。那么如何让我们的Action Sheet显示到屏幕上呢,使用方法presentViewController,整个方法就是让某个控制器成为当前的控制器:
【小弟我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记39 Alert&ActionSheet
completion是一个闭包,当ActionSheet呈现到页面上的时候调用。
在ipad中是以popover的方式呈现的
【小弟我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记39 Alert&ActionSheet
Alert的用法是类似的
【小弟我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记39 Alert&ActionSheet
我们想要在Alert中添加一个文本框,方法如下:
【小弟我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记39 Alert&ActionSheet
一旦调用了这个方法,闭包中设置的文本框就会起作用,这里给文本框设置了一个占位符。
你可以使用下面的做法来设置一个Login的判断:
【小弟我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记39 Alert&ActionSheet

版权声明:本文为博主原创文章,未经博主允许不得转载。