文档章节

[Swift]UIKit学习之警告框:UIAlertController和UIAlertView

王永濤
 王永濤
发布于 2015/10/21 23:30
字数 353
阅读 641
收藏 1
点赞 0
评论 0


Important: UIAlertView is deprecated in iOS 8. (Note that UIAlertViewDelegate is also deprecated.) To create and manage alerts in iOS 8 and later, instead use UIAlertController with a preferredStyle ofUIAlertControllerStyleAlert.


在Xcode7中使用UIAlertView会报如下警告: 

'UIAlertView' was deprecated in iOS 9.0: UIAlertView is deprecated. Use UIAlertController with a preferredStyle of UIAlertControllerStyleAlert instead


Alert Views : Alert views display a concise and informative alert message to the user.

UIAlertController 同时替代了 UIAlertView 和 UIActionSheet,从系统层级上统一了 alert 的概念 —— 即以 modal 方式或 popover 方式展示。 

//  ViewController.swift

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        
        //创建一个Button
        let button = UIButton(type: UIButtonType.Custom) //初始化UIButton
        button.frame = CGRectMake(50, 100, 150, 50) //创建一个CGRect, 设置位置和大小
        button.backgroundColor = UIColor.greenColor() //设置背景色
        button.setTitle("点击显示弹窗", forState: UIControlState.Normal) //设置标题
        //传递触摸对象(点击事件)
        button.addTarget(self, action: "buttonPressed:", forControlEvents: UIControlEvents.TouchUpInside)
        self.view.addSubview(button)
        
    }

    // Action
    func buttonPressed(sender: UIButton) {

        showAlertReset()
   
    }
    
    func showAlertDefault(){
        let alertController = UIAlertController(title: "弹窗标题", message: "Hello, 这个是UIAlertController的默认样式", preferredStyle: UIAlertControllerStyle.Alert)
        
        let cancelAction = UIAlertAction(title: "取消", style: UIAlertActionStyle.Cancel, handler: nil)
        let okAction = UIAlertAction(title: "好的", style: UIAlertActionStyle.Default, handler: nil)
        let resetAction = UIAlertAction(title: "重置", style: UIAlertActionStyle.Destructive, handler: nil)
        
        alertController.addAction(resetAction)
        
        alertController.addAction(cancelAction)
        alertController.addAction(okAction)
        
        self.presentViewController(alertController, animated: true, completion: nil)
    }
    
    func showAlertReset(){
        let alertControl = UIAlertController(title: "弹窗的标题", message: "Hello,showAlertReset ", preferredStyle: UIAlertControllerStyle.Alert)
        let cancelAction = UIAlertAction(title: "取消操作", style: UIAlertActionStyle.Destructive, handler: nil)
        let okAction     = UIAlertAction(title: "好的", style: UIAlertActionStyle.Default, handler: nil)
        alertControl.addAction(cancelAction)
        alertControl.addAction(okAction)
        self.presentViewController(alertControl, animated: true, completion: nil)
    }
    
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


}


参考:

http://www.jianshu.com/p/86f933850df8

http://blog.csdn.net/xiaowenwen1010/article/details/40108097



© 著作权归作者所有

共有 人打赏支持
王永濤
粉丝 9
博文 54
码字总数 33540
作品 0
浦东
程序员
Advanced+Apple+Debugging(4)

不管你使用的是Swift, Objective-C, C++, C,或者其他的编程语言, 你都需要学习如何创建一个断点.在Xcode这样的GUI程序中, 在编辑界面的左边点一下创建一个断点是非常简单的, 但是在LLDB控制台...

土匪猿 ⋅ 06/09 ⋅ 0

Advanced+Apple+Debugging(7)

现在, 你已经有了坚实的调试基础.你可以找到并附加到你感兴趣的程序上, 高效的创建正则表达式断点来覆盖一个宽泛的范围, 在栈帧中导航并且使用expression命令查看变量. 然而, 是时候通过强大...

土匪猿 ⋅ 06/09 ⋅ 0

经典Win95风格的iOS UI 组件集 ClassicKit

ClassicKit是 Windows 95 经典风格的iOS 开源UI 组件集。图标,窗框的资源都来自Windows 95。每个组件都像 UIKit 的对应组件一样使用,例如,CKButton 像 UIButton 一样响应手势事件。同时这...

marsdream ⋅ 05/21 ⋅ 0

MBProgressHUB 有时候显示不了

使用 MBProgressHUD,如果在一个函数中添加了 HUD,又在函数结束前做了耗时操作,此时hud 不会立刻显示出来,而是需要等到函数结束后才能显示. MBProgressHUD 给出了解决办法: 请记住,UI更...

toobai ⋅ 04/25 ⋅ 0

怀旧,开源项目将 Windows 95 画风带到 iOS 上

开发者天马行空的想法总是能够给人带来惊喜,日前有开发者写了一个适用于 iOS 的 Windows 95 经典风格 UI 组件集 ClassicKit,并将其开源在 GitHub 上。 该项目将 Windows 95 的风格带入了 ...

雨田桑 ⋅ 05/17 ⋅ 8

iOS源码补完计划--AFNetworking 3.1.0源码研读

参拜一下AFNetworking的源码。 第四篇源码、暂时来看也是iOS方向的最后一篇、撸完准备趁着热乎撸一撸网络协议。 目录 准备工作 功能模块 AFURLSessionManager/AFHTTPSessionManager AFNetwo...

kirito_song ⋅ 05/25 ⋅ 0

UIAlertView和ActionSheet抛弃后的,使用UIAlertController代替

你知道 、 (以及它们各自的 delegate protocols) 在 iOS 8 中已经被废弃了吗? 这是真的。在你的代码中按住 ⌘ 点击 或者 ,你就会看到最上面的注释: is deprecated. Use with a of instead...

issac宝华 ⋅ 2016/08/30 ⋅ 0

苹果宣布将在 2019 年推出 iOS 和 macOS 跨平台功能

苹果 macOS 和 iOS 设备在功能方面越来越接近,现在苹果正在缩小这一差距。在昨天的 WWDC 开发者大会上,苹果表示不会将 iOS 和 macOS 进行合并,而是让 iOS 应用移植到 macOS 上变得更加简单...

王练 ⋅ 06/05 ⋅ 1

iOS关于换肤和夜间模式的一些思考

介绍 好久没写文章了,正好最近在研究换肤,所以将最近的心得和体会与大家分享一下。 iOS换肤的方式比较单一,查找了很多资料,发现主流的方式有如下两种: } 自己的想法 首先我们应该明确需...

shenglanya ⋅ 05/14 ⋅ 0

iOS9使用提示框的正确实现方式

在从iOS8到iOS9的升级过程中,弹出提示框的方式有了很大的改变,在Xcode7 ,iOS9.0的SDK中,已经明确提示不再推荐使用UIAlertView,而只能使用UIAlertController,我们通过代码来演示一下。 ...

海二少 ⋅ 2016/03/10 ⋅ 1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

从零开始搭建Risc-v Rocket环境---(1)

为了搭建Rocke环境,我买了一个2T的移动硬盘,安装的ubuntu-16.04 LTS版。没有java8,gcc是5.4.0 joe@joe-Inspiron-7460:~$ java -version程序 'java' 已包含在下列软件包中: * default-...

whoisliang ⋅ 23分钟前 ⋅ 0

大数据学习路线(自己制定的,从零开始学习大数据)

大数据已经火了很久了,一直想了解它学习它结果没时间,过年后终于有时间了,了解了一些资料,结合我自己的情况,初步整理了一个学习路线,有问题的希望大神指点。 学习路线 Linux(shell,高并...

董黎明 ⋅ 29分钟前 ⋅ 0

systemd编写服务

一、开机启动 对于那些支持 Systemd 的软件,安装的时候,会自动在/usr/lib/systemd/system目录添加一个配置文件。 如果你想让该软件开机启动,就执行下面的命令(以httpd.service为例)。 ...

勇敢的飞石 ⋅ 31分钟前 ⋅ 0

mysql 基本sql

CREATE TABLE `BBB_build_info` ( `community_id` varchar(50) NOT NULL COMMENT '小区ID', `layer` int(11) NOT NULL COMMENT '地址层数', `id` int(11) NOT NULL COMMENT '地址id', `full_......

zaolonglei ⋅ 39分钟前 ⋅ 0

安装chrome的vue插件

参看文档:https://www.cnblogs.com/yulingjia/p/7904138.html

xiaoge2016 ⋅ 42分钟前 ⋅ 0

用SQL命令查看Mysql数据库大小

要想知道每个数据库的大小的话,步骤如下: 1、进入information_schema 数据库(存放了其他的数据库的信息) use information_schema; 2、查询所有数据的大小: select concat(round(sum(da...

源哥L ⋅ 今天 ⋅ 0

两个小实验简单介绍@Scope("prototype")

实验一 首先有如下代码(其中@RestController的作用相当于@Controller+@Responsebody,可忽略) @RestController//@Scope("prototype")public class TestController { @RequestMap...

kalnkaya ⋅ 今天 ⋅ 0

php-fpm的pool&php-fpm慢执行日志&open_basedir&php-fpm进程管理

12.21 php-fpm的pool pool是PHP-fpm的资源池,如果多个站点共用一个pool,则可能造成资源池中的资源耗尽,最终访问网站时出现502。 为了解决上述问题,我们可以配置多个pool,不同的站点使用...

影夜Linux ⋅ 今天 ⋅ 0

微服务 WildFly Swarm 管理

Expose Application Metrics and Information 要公开关于我们的微服务的有用信息,我们需要做的就是将监视器模块添加到我们的pom.xml中: 这将使在管理和监视功能得到实现。从监控角度来看,...

woshixin ⋅ 今天 ⋅ 0

java连接 mongo伪集群部署遇到的坑

部署mongo伪集群 #创建mongo数据存放文件地址mkdir -p /usr/local/config1/datamkdir -p /usr/local/config2/data mkdir -p /usr/local/config3/data mkdir -p /usr/local/config1/l......

努力爬坑人 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部