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 ...
随机推荐
- js 获取当前系统时间
Js获取当前日期时间及其它操作 var myDate = new Date();myDate.getYear(); //获取当前年份(2位)myDate.getFullYear(); //获取完整的年 ...
- ADO。Net(二)——防止SQL注入攻击
规避SQL注入 如果不规避,在黑窗口里面输入内容时利用拼接语句可以对数据进行攻击 如:输入Code值 p001' union select * from Info where '1'='1 //这样可 ...
- jqGrid 最常用的属性和事件,供平时参考(转)
[html] <html> ... <table id="list1"></table> <div id="pager1&quo ...
- 初步认识Hive
初步认识Hive hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行.其优点是学习 ...
- windows环境下无法引用全局安装的模块问题
问题 在node项目中,往往需要安装一些依赖的包,通常我们采取全局安装的方式,来减少一些包重复安装带来的烦恼. 但是全局安装后出现无法使用的情况,可能是你NODE_PATH没有设置或者不正确造成的. ...
- Python序列化之json与pickle
1.json介绍 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. 它基于JavaScript Progra ...
- Linux磁盘管理之逻辑结构主引导扇区02
一.主引导扇区 主引导扇区位于硬盘的0磁道0柱面1扇区,共占用了63个扇区,但实际上只使用了512字节,由三大部分组成: 1.主引导记录MBR(Master Boot Record):占446字节. ...
- js中正则表达式的模式匹配
参考Javascript权威指南(第6版)第10章 1.正则表达式的定义 正则表达式有两种定义方法,通常使用直接量方式. (1)直接量 var pattern = /\d$/; var pattern ...
- windows下nodejs环境配置
一.下载 去nodejs下载node.msi安装文件包,里面包含了node.js和npm: 双击node.msi就行了,选择安装路径和npm: 二.设置环境变量 [新版本都不需要设计环境变量了,软件会 ...
- [转]ng-grid
本文转自:http://angular-ui.github.io/ui-grid/ Getting Started Steps for getting started (example on righ ...