swift UI专项训练13 AlertView警告框

有时候我们进行操作的时候需要一个弹框进行确认或者返回,这就是AlertView。在上一话的工程中,当我们点击停止按钮的时候,弹窗确认。弹窗这个动作是发生在我们点击停止按钮的时候,所以AlertView的代码要添加到停止按钮的action中,代码如下:

 @IBAction func stopButton(sender: UIButton) {

        let stopDownloadConfirm = UIAlertView(title: "警告", message: "正在下载,确定要取消下载吗?", delegate: self, cancelButtonTitle: "否", otherButtonTitles: "是")
        stopDownloadConfirm.show()

    }

当然因为代理选择了self,所以控制器需要集成UIAlertViewDelegate,运行效果如下:

细心的小伙伴可能已经发现上一话中隐藏齿轮的语句已经不在了,现在点击停止按钮触发的是这个AlertView,而对齿轮的操作放到了新的方法中:

 func alertView(alertView: UIAlertView, clickedButtonAtIndex buttonIndex: Int) {
        if buttonIndex == 1 {
        loading.stopAnimating()
        }
    }

判断语句的作用是:当我们点击“是”的时候会停止齿轮的转动,点击否没有效果。现在来测试一下,首先点击下载,出现转动的齿轮:

然后点击停止按钮,选择否,齿轮依旧转动,选择是,齿轮消失。

时间: 2024-10-24 13:30:18

swift UI专项训练13 AlertView警告框的相关文章

swift UI专项训练39 用Swift实现摇一摇功能

微信的摇一摇功能想必大家都用过,过春节的时候抢红包也没少摇吧,那么用swift语言怎样实现这么酷炫的功能呢.摇动属于IOS内置可识别的一种动作,在你须要实现摇动功能的viewcontroller中.在viewDidLoad方法中增加下面代码: UIApplication.sharedApplication().applicationSupportsShakeToEdit = true self.becomeFirstResponder() 第一句是要求当前页面支持对摇动事件可编辑的支持,设置为t

swift UI专项训练17 SearchBar搜索条

搜索栏算是UI中很简单的一个操作了,拖一个搜索栏上来. 搜索栏中比较重要的属性是占位符,也就是图中右侧的Placeholder,比如输入"请输入关键字",显示如下: 这一项是设置背景颜色: Options选项会对搜索框进行一些调整: 比如我们选择第一项,会显示出一个下拉箭头: 接下来看这部分: 这个里面有一些很有意思的选项,比如这个Keyboard Type,当我们在网页输入的时候要输入汉字和数字,当我们输入电话号码的时候只能输入数字,就是用这个选项. 还有这个Return Key,我

swift UI专项训练25 网址输入完毕事件

首先我们运行一下上一话中写好的程序看看有什么问题. 我们发现点击return是没有反应的,这是因为我们之前设置了文本框为这个界面的第一反应者,我们要得到键盘的返回必须对键盘做一些操作.从textfield入手,添加一个方法: func textFieldShouldReturn(textField: UITextField) -> Bool { textField.resignFirstResponder() return true } 这是一个点击返回按钮输入框消失的方法,其中在返回之前我们要

swift UI专项训练23 设置委托和键盘返回

前几话中我们搞定了布局,这一话我们首先要把引用全部加上,就是连线到控制器中 UIViewController { @IBOutlet weak var textField1: UITextField! @IBOutlet weak var web1: UIWebView! 然后就是代理,首先来看一下我们手机场景界面上的三个按钮: 第一个按钮是控制器本身,第二个按钮是这个界面的第一反应者,我们这个界面的第一反应者是网址这个框,第三个按钮是退出. 我们选择代理的时候也可以通过连线的方式,只需要把de

Swift UI专项训练1 交互

我们都知道在IOS界面编程的时候有IBOutlet和IBAction,前者是引用后者是操作,IBAction有一个参数sender,用来指向操作对象,之前我发布的天气预报的小程序那一话可以看到,如果我们需要一个按钮的点击事件的话那就使用IBAction,如果是一个Label要显示东西的话那就用IBOutlet. 现在来讲一下IBAction中的一些事件类型: 1.Touch Down Inside:触碰,只要我们碰到不动就算触发了事件 2.Touch Up  Inside:抬离,和1不同的是,触

Swift UI专项训练2 本地化及自动布局

首先我们新建一个工程,然后来做本地化,本地化就是根据用户设置的语言等等信息来显示.那么如何来设置呢,打开我们的工程,点开Supporting Files中的Info.plist.如图: 右侧第一栏选中China,这样如果遇到一些系统组件,那么会自动变成中文的. 现在我们来编辑第一个页面.在storyboard中增加一个文本框.简单的部分我就不截图了,注意这里的placeholder(占位符),代表在你没有输入内容的时候的显示信息: 还有这个属性Clear Button,也要注意一下,选择Appe

swift UI专项训练19 TextView 多行文本

有时候我们所要展示的内容一行文本放不下,这就需要多行文本TextView,拖拽的时候注意上界不要超过电池的小图标. 可以在属性编辑器中对多行文本的内容进行更改,按住control键和回车键换行. 运行效果如图: 如果我们把text选项的Plain改成Attributed的话,我们可以对内容进行进一步的编辑.比如大小字体和颜色等: 效果如图: 除了样式,我们再来看一下它的行为: 是否可以被编辑,是否可以选中.如果能被编辑,那么在文本框中来选中和编辑: 还有很多属性,大家可以自己试试.

Swift UI专项训练7 数据添加

上一话我们使用了自己定义的控制器之后发现tableview上的餐馆没有了,这一话我们来添加数据,新添加一个餐馆类,这个类我们不需要继承系统的类,直接添加一个swift文件就好 import Foundation class Restaurant { var name = "" var location = "" var score = 10 } 我简单建一个类,分别代表餐馆名字.餐馆位置和餐馆评分,它们都有默认值. 然后我们回到餐馆排行的控制器中新建一个餐馆的数组.

swift UI专项训练21 网页浏览器

网页浏览器不同于上一话的webview,我们的网页浏览器不要求用户输入前面的HTTP,并且能实现自动布局,这一话的内容是前几话的总结.新建一个工程,然后拖拽一个text label,我们来看下右下角的一些工具,第一个是对齐约束: 第二个是pin约束,上下左右对齐: 第三个是清除约束,把设定好的约束清除掉: 我们设置如下的一个pin约束,点击add: 运行一下看看,我们发现这个text框已经有约束了: 查看textlabel的尺寸编辑器可以看到它的高度是30固定的: 我们在下面拖拽一个webvie