swift 学习之 UIAlertViewController
// PushViewController.swift
// tab
//
// Created by su on 15/12/7.
// Copyright © 2015年 tian. All rights reserved.
//
import UIKit
class PushViewController: UIViewController {
var alert1: UIAlertController!
var alert2: UIAlertController!
var actionSheet: UIAlertController!
override func viewDidLoad() {
super.viewDidLoad()
// label.frame = CGRect(x: 20, y: 100, width: Tools().SCREEN_WIDTH, height: 100)
// label.backgroundColor = Tools().RGB(r: 123, g: 234, b: 132)
// 定义一个按钮,显示最简单的 Alert
let button1 = UIButton(type: UIButtonType.System)
button1.frame = CGRectMake(self.view.frame.width/2 - 200, 50, 400, 50)
button1.setTitle("最简单的 Alert", forState: UIControlState.Normal)
button1.addTarget(self, action: "buttonAction:", forControlEvents: UIControlEvents.TouchUpInside)
button1.tag = 1
self.view.addSubview(button1)
// 定义一个按钮,显示带文本框的 Alert
let button2 = UIButton(type: UIButtonType.System)
button2.frame = CGRectMake(self.view.frame.width/2 - 200, 150, 400, 50)
button2.setTitle("带文本框的 Alert", forState: UIControlState.Normal)
button2.addTarget(self, action: "buttonAction:", forControlEvents: UIControlEvents.TouchUpInside)
button2.tag = 2
self.view.addSubview(button2)
// 定义一个按钮,显示上拉菜单
let button3 = UIButton(type: UIButtonType.System)
button3.frame = CGRectMake(self.view.frame.width/2 - 200, 250, 400, 50)
button3.setTitle("上拉菜单", forState: UIControlState.Normal)
button3.addTarget(self, action: "buttonAction:", forControlEvents: UIControlEvents.TouchUpInside)
button3.tag = 3
self.view.addSubview(button3)
// 定义 cancel、ok、save、delete、reset 的 UIAlertAction
let cancelAction = UIAlertAction(title: "cancel", style: UIAlertActionStyle.Cancel, handler: nil)
let okAction = UIAlertAction(title: "ok", style: UIAlertActionStyle.Default){
(action: UIAlertAction!) -> Void in
print("you choose ok")
}
let saveAction = UIAlertAction(title: "save", style: UIAlertActionStyle.Default){
(action: UIAlertAction!) -> Void in
print("you choose save")
}
let deleteAction = UIAlertAction(title: "delete", style: UIAlertActionStyle.Destructive){
(action: UIAlertAction!) -> Void in
print("you choose delete")
}
let resetAction = UIAlertAction(title: "reset", style: UIAlertActionStyle.Destructive){
(action: UIAlertAction!) -> Void in
print("you choose reset")
}
// 1、初始化最简单的 Alert
alert1 = UIAlertController(title: "simple alert", message: "this is a simple alert", preferredStyle: UIAlertControllerStyle.Alert)
alert1.addAction(cancelAction)
alert1.addAction(resetAction)
alert1.addAction(okAction)
// 2、初始化带文本框的 Alert
alert2 = UIAlertController(title: "login alert", message: "please enter your name and password", preferredStyle: UIAlertControllerStyle.Alert)
alert2.addTextFieldWithConfigurationHandler {
(textField: UITextField!) -> Void in
textField.placeholder = "name"
}
alert2.addTextFieldWithConfigurationHandler {
(textField: UITextField!) -> Void in
textField.placeholder = "password"
textField.secureTextEntry = true
}
let loginAction = UIAlertAction(title: "login", style: UIAlertActionStyle.Default) {
(action: UIAlertAction!) -> Void in
let name = self.alert2.textFields!.first
let password = self.alert2.textFields!.last
print("name : \(name!.text) password : \(password!.text)")
}
alert2.addAction(loginAction)
// 3、初始化上拉菜单
actionSheet = UIAlertController(title: "simple action sheet", message: "action sheet message", preferredStyle: UIAlertControllerStyle.ActionSheet)
actionSheet.addAction(cancelAction)
actionSheet.addAction(deleteAction)
actionSheet.addAction(saveAction)
}
/// 按钮响应事件
func buttonAction(sender: UIButton) {
let num = sender.tag
switch num {
case 1:
self.presentViewController(alert1, animated: true, completion: nil)
case 2:
self.presentViewController(alert2, animated: true, completion: nil)
case 3:
self.presentViewController(actionSheet, animated: true, completion: nil)
default:
break
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
/*
// MARK: - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
// Get the new view controller using segue.destinationViewController.
// Pass the selected object to the new view controller.
}
*/
swift 学习之 UIAlertViewController的更多相关文章
- swift学习之-- UIAlertVIewController - uiactionsheet
// // ViewController.swift // actionsheet // // Created by su on 15/12/7. // Copyright © 2015年 t ...
- swift学习之-- UIAlertViewController -alert
// // ViewController.swift // alertView // // Created by su on 15/12/7. // Copyright © 2015年 tia ...
- 【swift学习笔记】二.页面转跳数据回传
上一篇我们介绍了页面转跳:[swift学习笔记]一.页面转跳的条件判断和传值 这一篇说一下如何把数据回传回父页面,如下图所示,这个例子很简单,只是把传过去的数据加上了"回传"两个字 ...
- 今天开始Swift学习
今天开始Swift学习 在此记录笔记 以备之后查阅! allenhuang
- iOS ---Swift学习与复习
swift中文网 http://www.swiftv.cn http://swifter.tips/ http://objccn.io/ http://www.swiftmi.com/code4swi ...
- 12套swift学习资源分享
虽然objective-c编程语言在过去很长一段时间都是iOS应用开发的基础语言,且很多iOS开发者对其也深爱有佳,但是随着swift编程语言的问世,迅速发展为开发者追捧的语言.且今年伴随着swift ...
- Swift学习之常用UI的使用
Swift学习之常用UI的使用 最近笔者在开始学习苹果最新的编程语言,因为笔者认为,苹果既然出了这门语言就绝对不会放弃,除非苹果倒闭了(当然这里知识一个玩笑). 所以在不久的将来,swift绝对是iO ...
- [转]swift 学习资源 大集合
今天看到了一个swift的学习网站,里面收集了很多学习资源 [转自http://blog.csdn.net/sqc3375177/article/details/29206779] Swift 介绍 ...
- swift 学习资源 大集合
今天看到一个swift学习网站,其中我们收集了大量的学习资源 Swift 介绍 Swift 介绍 来自 Apple 官方 Swift 简单介绍 (@peng_gong) 一篇不错的中文简单介绍 [译] ...
随机推荐
- 基于ffmpegSDK的开发
#include <stdio.h> #include <libavutil/avutil.h> #include <libavcodec/avcodec.h> # ...
- LINQ to SQL 系列 如何使用LINQ to SQL插入、修改、删除数据 (转)
http://www.cnblogs.com/yukaizhao/archive/2010/05/13/linq_to_sql_1.html LINQ和 LINQ to SQL 都已经不是一个新事物了 ...
- Phonegap Android 项目使用Cordova
要在已经创建好的Android项目里,使用Cordova. 1. 首先在Android Studio中创建Android项目 2. 创建cordova项目 cordova crate test com ...
- 操作数据类m
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...
- [转][javascript]判断传入参数
// IE 下 name 都是 undefined ,这里手动赋值 Number.name="Number"; //String.name="String"; ...
- postman-1版本区别、选择
postman基于乙醇在腾讯课堂的postman教程 postman特点: 1.便于开发:开发接口的时候需要快速的调用接口,以便调试 2.便于测试:测试的时候需要非常方便的调用接口,通过不同的参数去测 ...
- 在 Ubuntu 16.04 LTS 上 离线安装 Docker / Docker-compose
前情提要 今天上班后,突然接到现场的工程师的电话: XXX的现场环境组的的局域网,上不了互联网.bla bla bla..... 如果需要安装其他软件的话,只能是自己带过去安装... 听完现场工程师的 ...
- python + docker, 实现天气数据 从FTP获取以及持久化(一)
前情提要 最近项目需要天气数据(预报和历史数据)来作为算法程序的输入. 项目的甲方已经购买了天气数据, 依照他们的约定,天气数据的供应商会将数据以"文本" (.TXT)的方式发到F ...
- pandas read_csv读取大文件的Memory error问题
今天在读取一个超大csv文件的时候,遇到困难:首先使用office打不开然后在python中使用基本的pandas.read_csv打开文件时:MemoryError 最后查阅read_csv文档发现 ...
- Nginx 系统维护配置
转自:http://blog.csdn.net/kkgbn/article/details/52153383 tomcat关闭后 请求返回502状态码 error_page /.html; locat ...