开发者社区> cwift-tal> 正文

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

简介: Alert和ActionSheet是IOS中弹出消息的两个工具。 首先它们都是Modal的方式展示的。
+关注继续查看

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

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记44 Popover Segue
在上一话中我们看了一个Demo,使用modal的方式,但其实如果要考虑到适配Iphone和Ipad设备的话,默认的modal会充满屏幕,而popover可以只占据屏幕上的一小块,之前我们讲过在Iphone中使用popover看起来和modal是一样的。
822 0
【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记43 保护NSNotification的内存安全
在之前的Demo中讲解过NSNotification的用法,NSNotification是使用NSOperationQueue实现的,所以使用NSNotification不可避免地会陷入内存问题,比如下面这个情况:在storyboard中准备两个场景。
1047 0
【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记45 Embed Segues
Embed segues是嵌入过渡,把一个MVC嵌入另一个MVC中,使用起来很简单。 只需要把需要嵌入的MVC放到另一个MVC上面即可,处理该segue的方法与其他segue没有区别,但是有一点是必须注意的,在prepareForSegue的时候,嵌入的MVC的outlet是没有初始化的,所以不要访问outlet的属性。
915 0
【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记40 NSTimer
NSTimer的主要作用是延时调用某个方法。 NSTimer主要使用在run loop中,而run loop是主队列中的东西,我们不介绍run loop ,但是读者需要知道NSTimer是用在主队列中的。
590 0
【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记41 Animation动画
IOS中的动画有以下几种: 第一种是为UIView的元素添加动画。 第二种是控制器的动画,比如之前介绍的导航控制器的用法。
801 0
【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记37 TableView Delegate
上一话介绍了tableView的datasource,本话来介绍另一个重要的部分delegate。
838 0
【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记36 TableViewDatasource
TableView是iOS开发中非常重要的内容。 TableView的作用是在一张表格中展示数据,它是UISCrollView的子类,你会看到当table中的cell条目多的时候你可以通过上下滑动屏幕来获取更多的内容。
904 0
【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记35 UITextField文本框
本话来介绍UIKit框架中的组件UITextField。   UItextField(文本框)和Label看起来看像,但是文本框是可以编辑的。
884 0
【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记32 NSNotification
我们之前在讲解MVC模式的时候提到过,模型的改变是通过广播的形式,然后控制器将调到响应的频率接收到模型的消息,找出模型中的变化,这些变化其中之一就是NSNotification,它是MVC中处理电台的途径之一,实际是一种模型到控制器的通讯。
826 0
【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记30 ScrollView Demo实战
  在上一话中我们创建了一个通过URL读取图片的Demo,这个Demo是不能拖动和缩放的,现在给它增加选项让它可以手动切换URL,并把图片添加到ScrollView中。
1084 0
+关注
cwift-tal
https://weibo.com/277195544?refer_flag=1005055013_
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载