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 ...
随机推荐
- RPM方式安装MySQL5.5.48 (Aliyun CentOS 7.0 & 卸载MySQL5.7)
环境是阿里云的CentOS7.0,更新了yum源(更新yum源请参考https://help.aliyun.com/knowledge_detail/5974184.html)之后先是尝试安装了MyS ...
- JavaScript(五)——插入地图
代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3. ...
- mysql online ddl
大家知道,互联网业务是典型的OLTP(online transaction process)应用,这种应用访问数据库的特点是大量的短事务高并发运行.因此任何限制高并发的动作都是不可接受的,甚至 ...
- Javascript之旅——终点站:困惑的settimeout
有时候结局不是很美好,但起码这也算是一种结局,这个系列的最后一篇settimeout,这是一个让人困惑的函数,也是我一直在吐槽JS的 原因,我们看不到JS的源代码,setimeout同样也是,从始到终 ...
- Java并发之Condition 并发同步控制
package com.thread.test.thread; import java.util.PriorityQueue; import java.util.concurrent.locks.Co ...
- 对最近的RTP和H264学习进行总结整理-04.20
虽然还是没有搞出来,但总感觉快了哈哈(哪来的自信) 1.RTP协议接受数据 #region 1-RTP协议变量声明 RTPSession session; RTPReceiver receiver; ...
- centos 安装maven
1.环境: 操作系统:centos7 maven:apache-maven-3.3.9-bin.tar.gz 2.安装JDK(1.7) 3.安装maven mkdir -p /opt/usr/loca ...
- html5 如何进行自定义属性的定义和查询
<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>T ...
- finereport普通报表的移动端自适应方案
移动端报表呈现,首先要求的是页面随手机屏幕大小自动放缩(自适应),下面给出一个普通报表中的finereport移动端自适应方案,适用于finereport 7.1之前的版本. 首先,了解一下当前我们可 ...
- OpenStack 企业私有云的若干需求(7):电信行业解决方案 NFV
自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云(Hybrid cloud)支持 主流硬件支持.云快速交付 ...