swifttextfield代理方法
//MARK:textfield delegate
//键盘的高度
func textFieldShouldBeginEditing(textField: UITextField) -> Bool {
// print("开始编辑")
let fixedTop:CGFloat = kscreenHeight - 252
let convertRect:CGRect = loginScrollView.convertRect(textField.frame, toView: textField.superview)
let textFieledTop = convertRect.origin.y + textField.tt_height
var dispersion:CGFloat = 0.0
let offsetY:CGFloat = loginScrollView.contentOffset.y
if textFieledTop > fixedTop {
dispersion = textFieledTop - fixedTop - offsetY
var offset:CGPoint = loginScrollView.contentOffset
offset.y += dispersion
UIView.beginAnimations(nil, context: nil)
UIView.setAnimationDuration(0.3)
loginScrollView.contentOffset = offset
UIView.commitAnimations()
}
return true
}
func textFieldShouldReturn(textField: UITextField) -> Bool {
// print("return")
if textField.isEqual(mailAccountTF) {
mailAccountTF.resignFirstResponder()
passwordTF.becomeFirstResponder()
}else if textField.isEqual(passwordTF){
hideKeyboardAction()//键盘退出
}
return true
}
func textFieldDidBeginEditing(textField: UITextField) {
// print("进入编辑")
if textField.isEqual(mailAccountTF) {
mailAccountTF.becomeFirstResponder()
}else if textField.isEqual(passwordTF){
passwordTF.becomeFirstResponder()
}
}
func textFieldDidEndEditing(textField: UITextField) {
// print("退出编辑")
hideKeyboardAction()//键盘退出
}
func textFieldShouldEndEditing(textField: UITextField) -> Bool {
// print("开始退出编辑")
return true
}
//限制输入空格 键盘上的x键,输入一个删除一个
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
if string == " " {
return false
}
return true
}
func textFieldShouldClear(textField: UITextField) -> Bool {
return true
}
//MARK:scrollviewdelegate
func scrollViewWillBeginDragging(scrollView: UIScrollView) {
hideKeyboardAction() //通过滑动隐藏键盘
}
func hideKeyboardAction(){
mailAccountTF.resignFirstResponder()
passwordTF.resignFirstResponder()
}
swifttextfield代理方法的更多相关文章
- 通读AFN②--AFN的上传和下载功能分析、SessionTask及相应的session代理方法的使用细节
这一部分主要研究AFN的上传和下载功能,中间涉及到各种NSURLSessionTask的一些创建的解析和HTTPSessionManager对RESTful风格的web应用的支持,同时会穿插一点NSU ...
- UITextField的代理方法:textField:shouldChangeCharactersInRange:replacementString
原文链接:http://www.cnblogs.com/zhanggui/p/6101813.html 这个我在开发的过程中用到的次数最多,因此这里就简单对其进行分析.先看看Command+点击 弹出 ...
- iOS开发之巧用Block和代理方法结合来传值
好久没写技术博客了,因为996的工作周期已经持续好几个月了.每天晚上回家都没有太多精力学习很多其他的东西,而且很多时候是接着完善工作的项目的模块开发.所以博客停歇了这么久,更新率也低了不少,今天补充一 ...
- UITableView的常用属性和代理方法
以下是近期总结的关于tableView的一些属性和代理方法,以及一些常见的问题,现汇总如下,今后还会持续更新,请继续关注: tableView 的头部和尾部视图属性: UISwitch *foot ...
- IOS中在自定义控件(非视图控制器)的视图跳转中 代理方法与代码块的比较
//代码块与代替代理的设计方法 我就以在自定义视图中(非视图控制器,不能实现视图控制功能),通过代理和代码块两种方法分别实现视图的跳转,进行对比 首先自定义了一个视图,上面有一个已经注册了得BUtto ...
- iOS开发——网络篇——NSURLSession,下载、上传代理方法,利用NSURLSession断点下载,AFN基本使用,网络检测,NSURLConnection补充
一.NSURLConnection补充 前面提到的NSURLConnection有些知识点需要补充 NSURLConnectionDataDelegate的代理方法有一下几个 - (void)conn ...
- UITableView表格视图、UITableView代理方法及应用
一.基本知识点 UITableView表格视图,是一个可以滚动的界面(理解为垂直滚动的UIScrollView),可展示多行数据,没有行数的限制,只能有一列. 使用UITableView: 1.展示信 ...
- 弃用的异步get和post方法之代理方法
#import "ViewController.h" #import "Header.h" @interface ViewController () <N ...
- IOS中tableView每组的头部控件、通过tableView的代理方法控制某一行的cell能否达到高亮选中状态
一.tableView每组的头部控件 1.控件宽度默认就是tableView的宽度 2.控件高度由下面的代理方法决定 - (CGFloat)tableView:(UITableView *)table ...
随机推荐
- 清除ASPX页面中的meta:resourceKey="[a-zA-Z0-9]+"
在替换对话框中,选中“使用正则表达式”, 被替换内容,使用 meta:resourceKey="[a-zA-Z0-9]+" 然后替换整个文档就可以了.
- PHP代码规范
PHP编码规范 1. 标识符命名规范 标识符的命名力求做到统一.达意和简洁. 1.1 统一 统一是指,对于同一个概念,在程序中用同一种表示方法,比如对于供应商,既可以用supplier,也可以用pro ...
- R语言中的循环函数(Grouping Function)
R语言中有几个常用的函数,可以按组对数据进行处理,apply, lapply, sapply, tapply, mapply,等.这几个函数功能有些类似,下面介绍下这几个函数的用法. Apply 这是 ...
- SQL Server调优系列基础篇(子查询运算总结)
前言 前面我们的几篇文章介绍了一系列关于运算符的介绍,以及各个运算符的优化方式和技巧.其中涵盖:查看执行计划的方式.几种数据集常用的连接方式.联合运算符方式.并行运算符等一系列的我们常见的运算符.有兴 ...
- Confluent介绍(一)
最开始接触confluent是通过这篇博客,How to Build a Scalable ETL Pipeline with Kafka Connect,对于做大数据的,数据的ETL(抽取,转换,装 ...
- iOS打包Framework真机和模拟器兼容合并版本 - 详细攻略步骤
打包Framework,测试时: 1.用模拟器打包,测试时只能跑在模拟器 2.用真机打包,测试时只能跑在真机 那么怎么做到一个版本兼容以上两种场景呢? 解决如下: 1.打开终端 2.输入 lipo ...
- Mac下开启FTPserver
开启命令 sudo -s launchctl load -w /System/Library/LaunchDaemons/ftp.plist 关闭命令 sudo -s launchctl unlo ...
- linux 添加用户、权限
# useradd –d /usr/sam -m sam 此命令创建了一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目录/usr/sam(/usr为默认的用户主目录所在的父目录). 假 ...
- 移动端rem单位用法[转]
标签: 1.rem(font size of the root element)是指相对于根元素的字体大小的单位,em(font size of the element)是指相对于父元素的字体大小的单 ...
- plain framework 1 版本更新 1.0.2 增加打包插件
由于个别因素,该框架的文档没有及时的更新到博客上,但是离线的文档已经完成.本次更新对框架来说显得比较重要,因为在文档的编写过程中经过再次的阅读代码修复了不少错误,最主要的是统一了整个框架的标准风格.对 ...