swift怎么调用Java,Swift完成UIAlertController的调用

Swift完成UIAlertController的调用

iOS8中的UIAlertView和UIActionSheet已经都被UIAlertViewController代替了,所以,本篇blog就来探讨下如何用swift生成提示框。

我们先来看一下Apple的UIAlertController的文档:

import Foundation

import UIKit

//

// UIAlertController.h

// UIKit

//

// Copyright (c) 2014 Apple Inc. All rights reserved.

//

@availability(iOS, introduced=8.0)

enum UIAlertActionStyle : Int {

case Default

case Cancel

case Destructive

}

@availability(iOS, introduced=8.0)

enum UIAlertControllerStyle : Int {

case ActionSheet

case Alert

}

@availability(iOS, introduced=8.0)

class UIAlertAction : NSObject, NSCopying {

convenience init(title: String, style: UIAlertActionStyle, handler: ((UIAlertAction!) -> Void)!)

var title: String { get }

var style: UIAlertActionStyle { get }

var enabled: Bool

}

@availability(iOS, introduced=8.0)

class UIAlertController : UIViewController {

convenience init(title: String?, message: String?, preferredStyle: UIAlertControllerStyle)

func addAction(action: UIAlertAction)

var actions: [AnyObject] { get }

func addTextFieldWithConfigurationHandler(configurationHandler: ((UITextField!) -> Void)!)

var textFields: [AnyObject]? { get }

var title: String?

var message: String?

var preferredStyle: UIAlertControllerStyle { get }

}

我们可以看到UIAlertController的style有两个,一个是ActionSheet,一个是Alert,而AlertActionStyle有3个: Default,Cancel, Destructive;所以我们新建Alert时可以这样:

var alert: UIAlertController = UIAlertController(title:nil, message:"您输入的电话号码有误,请检查后重新输入",

preferredStyle:UIAlertControllerStyle.Alert)

或者

var alert: UIAlertController = UIAlertController(title: nil, message:"test", preferredStyle: UIAlertControllerStyle.ActionSheet)

接下来我们来给Alert添加action,从文档中可以看到AlertAction有init函数,

我们来新建3个actions

var saveAction = UIAlertAction(title: "Save", style: .Default, handler:{

(alerts: UIAlertAction!) -> Void in

println("File saved")

})

var deleteAction = UIAlertAction(title: "Delete", style: .Default, handler:{

(alerts: UIAlertAction!) -> Void in

println("File delete")

})

var cancelAction = UIAlertAction(title: "Cancel", style: .Cancel, handler:{

(alerts: UIAlertAction!) -> Void in

println("Cancelled")

})注意到handler中用到了一个closure

然后给我们的alertcontroller添加actions,并把它显示出来

alert.addAction(saveAction)

alert.addAction(deleteAction)

alert.addAction(cancelAction)

self.presentViewController(alert, animated: true, completion: nil)

我们也可以这样添加action

alert.addAction(UIAlertAction(title: "确定", style: .Destructive, handler: {

action in switch action.style{

case .Default:

println("ok")

case .Cancel:

println("cancel")

case .Destructive:

println("Destructive")

}

}

))接下来运行一下看看我们的alertController是什么样子的吧。

Tips:

如果style是cancel 那么字体会变粗;如果是destructive,字体会显示红色。

http://www.dengb.com/Javabc/957757.htmlwww.dengb.comtruehttp://www.dengb.com/Javabc/957757.htmlTechArticleSwift完成UIAlertController的调用 iOS8中的UIAlertView和UIActionSheet已经都被UIAlertViewController代替了,所以,本篇blog就来探讨下如何用swift生成提示框...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/498607.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度 | 三大痛点左右着中国服务机器人产业发展

来源: 机器人内参概要: 从全球角度看,以智能服务机器人为主的机器人产业在不断发展,产业规模及市场空间持续扩张。目前全世界至少有48个国家在发展机器人,其中25个国家已涉足服务机器人开发,掀起一波服务机…

php fork 相关函数,C语言fork函数创建进程详解

在linux下,C语言创建进程用fork函数,接下来我们通过代码来一步步了解fork函数的各个知识点。1、依赖的头文件#include 2、fork的原理和概念fork子进程就是从父进程拷贝一个新的进程出来,子进程和父进程的进程ID不同,但用户数据一样…

oracle12c没有有sqlnet文件,Oracle的sqlnet.ora文件配置

DBA对这个文件一定不会陌生,大家了解最多的也一定是sqlnet.ora用来决定oracle怎么解析一个连接中出现的字符串,例如:sqlplus sys/oracleorcl那么这个orcl怎么解析?如果你的sqlnet.ora这样配置的:SQLNET.AUTHENTICATION_SERVICES (…

华为云AI开发部总经理罗华霖:华为人工智能的实践与创新

来源:亿欧作者:罗华霖概要:9月21-22日,由深圳市罗湖区人民政府指导、亿欧公司主办的“GIIS-全球产业创新峰会”在罗湖区京基100瑞吉酒店盛大启幕。9月21-22日,由深圳市罗湖区人民政府指导、亿欧公司主办的“GIIS-全球产…

oracle drop 提交,oracle drop 存储过程

Oracle中删除用户遇到的问题我新建了一个用户xy,并导入了一些表,序列,存储过程在其中。现在我用删除该用户出现问题执行drop user xy,报错ORA-01922: 必须指定 CASCADE 以删除 XY问题原因CASCADE众所周知是级联的意思,…

Michael I. Jordan——计算思维、推断思维与数据科学

来源:图灵人工智能概要: Michael I. Jordan 是机器学习、统计机器学习泰斗,是贝叶斯网络、概率图模型、层次随机过程等多个重要方向的主要奠基者之一,也是统计学与机器学习交叉融合的主要推动者之一。Michael I. Jordan 是机器学习…

%3c php foreach%3e,PHP 数组函数-数组排序

php数组排序函数sort ( &$arr [,fruits] ) 对数组进行从低到高排序 ,并赋予新的键名 返回boolrsort ( &$arr [,fruits] ) 对数组进行逆向排序 并赋予新的键名asort ( &$arr [,fruits] ) 对数组进行排序 ,并保持索引不变arsort( &…

Google Brain 团队的研究方法

来源:全球人工智能概要:大约一年之前,Google Brain 团队首次分享了我们的使命:让机器拥有智慧,造福人类生活。大约一年之前,Google Brain 团队首次分享了我们的使命:让机器拥有智慧,…

php怎么循环输出二维数组,PHP中遍历二维数组—以不同形式的输出操作

//定义二维索引数组$arr array(array("101","李军","男","1976-02-20","95033"),array("103","陆君","男","1974-06-03","95031"),array("105","匡明&q…

Gartner重磅发布近40页PPT,详解2017年十大战略技术趋势

来源:中国大数据概要:Gartner将战略科技发展趋势定义为具有颠覆性潜力、脱离初级阶段且影响范围和用途不断扩大的战略科技发展趋势,这些趋势在未来五年内迅速增长、高度波动、预计达到临界点。 近日Gartner公司着重介绍了在2017年对多个组织具…

oracle 并行执行脚本,批量执行Oracle脚本

场景:linux上批量执行oracle脚本的shell脚本linux下批量执行oracle脚本的shell脚本#! /bin/bash -lcreate_dbtable(){set -xdbuser$1dbpassword$2sqlfile$3conn${dbuser}/${dbpassword};echo "create data of $dbuser..."if [ ${dbuser} sys ]thenconn&q…

巴菲特、李嘉诚、盖茨、小扎、孙正义…… 这是他们眼中的未来

来源:全球创新论坛概要:这些企业家、梦想家和先知在各自的领域中都取得了非凡的成就,创造了巨大的财富,如果让他们展望人类下一个百年,他们会告诉我们什么?为了庆祝百年诞辰,《福布斯》杂志最近…

oracle 01304,关于ORA-01034和ORA-27101的解决方法

[oraclelocalhost admin]$ oerr ora 0130401304, 00000, “subordinate process error. Check alert and trace logs”// *Cause: A process subordinate to this Logminer process has exited with an// error condition.// *Action: Look in the alert log and trace files f…

深度学习不是AI的未来

来源:中国机器人概要:深度学习并不是人工智能的同义词!由于谷歌、Facebook等巨头公司宣传人工智能工具时主要谈的就是深度学习,甚至只谈深度学习,因此大众误以为所有的人工智能新的篇章都(将)由深度学习书写。现在每一个人都正在学…

两个oracle数据库外网同步,利用DBLink+JOB实现两个Oracle数据库之间的数据同步

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼第三步:建立JOB任务,定时同步数据在PL/SQL的command window输入以下语句:beginsys.dbms_job.submit(job > :job,what > TEST_JOB_SCOTT;,next_date > to_date(01-01-4000, dd-mm-yyyy),interval > SYSDATE …

linux命令解压文件到指定目录并覆盖,你不知道的Linux解压命令

在桌面Linux发行版中解压、压缩都非常方便,直接右键文件就可以了, 但在服务器版的Linux中一般是没有桌面环境的,这时候就要用到命令了。下面我就介绍下等12种格式的压缩文件的压缩和解压的命令。本次为zip文件要使用的命令和命令的用法。建议…

十一来临,国内有哪些手机智能助手帮你出行?

作者:camel概要:手机语音助手已发展多年,随着近几年机器学习的发展,语音助手在语音识别、语义理解等方面已经有了很大的发展。手机语音助手已发展多年,随着近几年机器学习的发展,语音助手在语音识别、语义理…

linux查端口被占用情况,Linux系统中如何查询端口被占用情况

今天小编要跟大家分享的文章是关于Linux系统中如何查询端口被占用情况。正在从事Linux运维工作的小伙伴来和小编来和小编一起看一看吧,希望能够对大家有所帮助。Linux如何查看端口1、lsof -i:端口号 用于查看某一端口的占用情况,比如查看8000端口使用情况…

在分析了AI顶会上的6163篇论文后,我们能发现怎样的发展趋势与变化……

来源:机器人圈概要:最近,有关人工智能(AI)的研究在各个领域都取得了显著的成果。这主要归功于长期以来一直致力于这个研究领域的AI研究人员的努力。最近,有关人工智能(AI)的研究在各…

如果linux目录中没有srv,了解linux系统目录,proc,root,sbin,selinux,srv!

linux小白到大神的成长之路:了解linux系统目录,proc,root,sbin,selinux,srv!本经验由宗龙龙原创,全文共600多字,阅读需要14分钟,如果文中存在错误,还请大家多多指点,我会积极改进的!…