Swift UIAlertController、UISegmentedControl
// MARK: 提示框
func _initAlertView() {
let btn = UIButton(type: UIButtonType.ContactAdd)
btn.frame = CGRect(x: 100, y: 150, width: 50, height: 50)
btn.addTarget(self, action: "showAlert", forControlEvents: UIControlEvents.TouchUpInside)
self.view.addSubview(btn)
}
func showAlert() {
// let alertView = UIAlertView(title: "警告", message: "密码错误", delegate: self, cancelButtonTitle: "取消", otherButtonTitles: "确定")
//// let alertView = UIAlertView(title: "警告", message: "密码错误", delegate: self, cancelButtonTitle: "取消")
//
// //设置alertView的样式
// alertView.alertViewStyle = UIAlertViewStyle.LoginAndPasswordInput
// alertView.show()
let alertCtrl = UIAlertController(title: "温馨提示", message: "输入账号和密码", preferredStyle: UIAlertControllerStyle.Alert)
alertCtrl.addTextFieldWithConfigurationHandler { (textField) -> Void in
textField.placeholder = "输入账号"
}
alertCtrl.addTextFieldWithConfigurationHandler { (textField) -> Void in
textField.placeholder = "输入密码"
textField.secureTextEntry = true
}
let sureAction = UIAlertAction(title: "确定", style: UIAlertActionStyle.Destructive) { (alertAction) -> Void in
let tfs: [UITextField] = alertCtrl.textFields!
let tf1: UITextField = tfs[0]
let tf2: UITextField = tfs[1]
print("确定:\(alertAction.title)")
print(tf1.text)
print(tf2.text)
}
let cancelAction = UIAlertAction(title: "取消", style: UIAlertActionStyle.Destructive) { (alertAction) -> Void in
print("取消:\(alertAction.title)")
}
alertCtrl.addAction(sureAction)
alertCtrl.addAction(cancelAction)
self.presentViewController(alertCtrl, animated: true, completion: nil)
}
// MARK: 提示界面
func _initActionSheet() {
let btn = UIButton(type: UIButtonType.InfoDark)
btn.frame = CGRect(x: 200, y: 150, width: 50, height: 50)
btn.addTarget(self, action: "showActionSheet", forControlEvents: UIControlEvents.TouchUpInside)
self.view.addSubview(btn)
}
func showActionSheet() {
// let actionSheet = UIActionSheet(title: "提示", delegate: self, cancelButtonTitle: "取消", destructiveButtonTitle: "确定", otherButtonTitles: "按钮1", "按钮2")
// actionSheet.showInView(self.view)
let alertCtrl = UIAlertController(title: "提示", message: "重点提示Message", preferredStyle: UIAlertControllerStyle.ActionSheet)
let sureAction = UIAlertAction(title: "确定", style: UIAlertActionStyle.Default) { (alertAction) -> Void in
print("确定:\(alertAction.title)")
}
let cancelAction = UIAlertAction(title: "取消", style: UIAlertActionStyle.Cancel) { (alertAction) -> Void in
print("取消:\(alertAction.title)")
}
alertCtrl.addAction(sureAction)
alertCtrl.addAction(cancelAction)
self.presentViewController(alertCtrl, animated: true, completion: nil)
}
// MARK: UISegmentedControl 两种创建方式都实用
func _initsegmentControl() {
// 1.0 设置按钮的标题数组
let array: [String] = ["选择","搜索","工具"]
// 1.1 创建分段控件
let segmentCtrl = UISegmentedControl(items: array)
segmentCtrl.frame = CGRect(x: 100, y: 100, width: 150, height: 25)
// 1.2 设置默认选中按钮
segmentCtrl.selectedSegmentIndex = 0
segmentCtrl.addTarget(self, action: "segmentAction:", forControlEvents: UIControlEvents.ValueChanged)
self.view.addSubview(segmentCtrl)
// 2.0 设置按钮的标题数组
let arrayString:[String] = ["11","22","33"];
// 2.1 创建分段控件
let segmentContrl = UISegmentedControl(items: arrayString)
segmentContrl.frame = CGRectMake(100, 200, 200, 50)
// 2.2 设置默认选中按钮
segmentContrl.selectedSegmentIndex = 2
segmentContrl.addTarget(self, action: "segmentAction:", forControlEvents: UIControlEvents.ValueChanged)
self.view.addSubview(segmentContrl)
}
func segmentAction(segment: UISegmentedControl) {
print(segment.selectedSegmentIndex)
switch segment.selectedSegmentIndex{
case 0:
print("选择")
case 1:
print("搜索")
case 2:
print("工具")
default: break
}
}
Swift UIAlertController、UISegmentedControl的更多相关文章
- UISwitch(开关控件)、UISegmentedControl(分段控件)
一.UISwitch 1.初始化 UISwitch *s1 = [[UISwitch alloc]initWithFrame:CGRectMake(50, 170, 100, 200)]; 2.设 ...
- iOS开发之七:常用控件--UISlider、UISegmentedControl、UIPageControl的使用
一.UISlider的使用 其实UISlider在iOS开发中用的似乎不是很多,我们看到的用到的地方多是音乐播放器的音量控制,以及视频播放器中的音量控制. 还是记录一下吧! 1.常用属性 // 设置获 ...
- UI中一些不常用的控件UIActivityIndicatorView、UIProgressView、UISegmentedControl、UIStepper、UISwitch、UITextView、UIAlertController
//UIActivityIndicatorView //小菊花,加载 #import "ActivityIndicatorVC.h" @interface ActivityIndi ...
- UI-不常用控件 UIActivityIndicatorView、UIProgressView、UISegmentedControl、UIStepper、UISwitch、UITextView、UIAlertController
1 //UIActivityIndicatorView //小菊花,加载================================================================ ...
- [Swift]UIAlertController 以及 Swift 中的闭包和枚举
原文地址:http://blog.callmewhy.com/2014/10/08/uialertcontroller-swift-closures-enum/ 在 iOS8 的 SDK 中, UIK ...
- 友盟(Swift)-集成、统计用户数量、具体页面访问数量、具体按钮点击数量
什么是友盟.有什么用? 这些傻瓜问题这里就不解释了,可以自己百度去. 友盟提供的文档和demo都是oc的,这里用swift写了一个小demo,在此分享一下. 步骤1:友盟后台注册应用(iOS),拿到a ...
- [转载] 对象存储(2):OpenStack Swift——概念、架构与规模部署
原文: http://www.testlab.com.cn/Index/article/id/1085.html#rd?sukey=fc78a68049a14bb228cb2742bdec2b9498 ...
- Openstack Swift 原理、架构与 API 介绍
OpenStack Swift 开源项目提供了弹性可伸缩.高可用的分布式对象存储服务,适合存储大规模非结构化数据.本文将深入介绍 Swift 的基本设计原理.对称式的系统架构和 RESTful API ...
- swift 实践- 08 -- UISegmentedControl
import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoa ...
随机推荐
- 聊一聊HTML <!DOCTYPE> 标签
一般一个基本html页面的结构,如下代码所示: <html> <head> <title>我是基本的页面结构</title> </head> ...
- PHP设计模式(三):抽象工厂模式
- 使用淘宝的npm代理下载模块
npm install node-sass --registry=http://registry.npm.taobao.org
- java中函数传值与引用问题
从C++转java,在使用函数传对象时,碰到一点问题,今天特意验证了一下: public class App { public static void doubleTest(double d) { d ...
- php入门(一)
一,在HTML中嵌入php代码 先看html的代码: <form action="processorder.php" method="post"> ...
- 今天 学习用到的一些知识(properties 读取,js 删除元素)
1.properties文件位置的关系:当properties文件放在src目录下时,编译会自动把src里的文件放到bin文件平级,因此可用this.getClass.getClassLoader.g ...
- form组件的验证
django 的form组件可以实现自定义的验证规则. 创建基于Form的类,在类中创建字段,定义规则. 创建该类的对象,并将待验证的数据传入,使用is_valid()函数. is_valid()函数 ...
- 【程序员笔试面试必会——排序②】Python实现 计数排序、基数排序
一.计数排序 概要: 时间复杂度O(n),空间复杂度O(k),k是输入序列的值的范围(最大值-最小值),是稳定的.计数排序一般用于已知输入值的范围相对较小,比如给公司员工的身高体重信息排序. 思路: ...
- play的过滤类怎么实现继承问题
原文: Example: public class Secure extends Controller { @Before static void checkAuthenti ...
- 强连通分量算法-codevs1332
解决有向图的强连通分量的算法,有两个,一个是tarjan,一个是kosaraju,上午只看了一下kosaraju,不算太难,理解之后写了个模板题. 先说kosaraju算法,算法的主要思路是进行两次d ...