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 ...
随机推荐
- 深度学习:Keras入门(二)之卷积神经网络(CNN)【转】
本文转载自:https://www.cnblogs.com/lc1217/p/7324935.html 说明:这篇文章需要有一些相关的基础知识,否则看起来可能比较吃力. 1.卷积与神经元 1.1 什么 ...
- Spring boot 解决 hibernate no session异常
启动类中加入 @Beanpublic OpenEntityManagerInViewFilter openEntityManagerInViewFilter(){ return new OpenEnt ...
- 爬虫之JSON
数据提取之JSON与JsonPATH JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写.同时也方便了机器进行解析和生成.适 ...
- Leetcode——Third Maximum Number
Question Given a non-empty array of integers, return the third maximum number in this array. If it d ...
- 初识numpy的多维数组对象ndarray
PS:内容来源于<利用Python进行数据分析> 一.创建ndarray 1.array :将一个序列(嵌套序列)转换为一个数组(多维数组) In[2]: import numpy as ...
- webservice的cxf和spring整合客户端开发
1.新建一个java项目 2.导入cxf相关的jar包,并部署到项目中 3.用命令生成客户端使用说明文档 wsdl2java -p com.xiaostudy -d . http://127.0.0. ...
- Shell脚本 curl获取必应每日壁纸(Mac OS)
Mac上Safari不能下载壁纸,遇到好看的很想用作壁纸.写了一小段脚本用来拉取网页图片. curl: -sS 参数用来取消下载状态显示 grep 首先把含有图片网址的行提取了出来,针对这一行再做se ...
- python中的参数传递
一般的参数顺序是先位置,再关键字,然后是包裹位置传递,包裹关键字传递.
- 我的nlp之路(1)
1/8日任务 基础篇: 如何使用远程连接从windows或者linux连到服务器进行操作(切换用户,传递文件) (严禁使用root账户) Linux基本bash命令 a) 查看文件大小, ...
- Kaggle 项目之 Digit Recognizer
train.csv 和 test.csv 包含 1~9 的手写数字的灰度图片.每幅图片都是 28 个像素的高度和宽度,共 28*28=784 个像素点,每个像素值都在 0~255 之间. train. ...