//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代理方法的更多相关文章

  1. 通读AFN②--AFN的上传和下载功能分析、SessionTask及相应的session代理方法的使用细节

    这一部分主要研究AFN的上传和下载功能,中间涉及到各种NSURLSessionTask的一些创建的解析和HTTPSessionManager对RESTful风格的web应用的支持,同时会穿插一点NSU ...

  2. UITextField的代理方法:textField:shouldChangeCharactersInRange:replacementString

    原文链接:http://www.cnblogs.com/zhanggui/p/6101813.html 这个我在开发的过程中用到的次数最多,因此这里就简单对其进行分析.先看看Command+点击 弹出 ...

  3. iOS开发之巧用Block和代理方法结合来传值

    好久没写技术博客了,因为996的工作周期已经持续好几个月了.每天晚上回家都没有太多精力学习很多其他的东西,而且很多时候是接着完善工作的项目的模块开发.所以博客停歇了这么久,更新率也低了不少,今天补充一 ...

  4. UITableView的常用属性和代理方法

    以下是近期总结的关于tableView的一些属性和代理方法,以及一些常见的问题,现汇总如下,今后还会持续更新,请继续关注:   tableView 的头部和尾部视图属性: UISwitch *foot ...

  5. IOS中在自定义控件(非视图控制器)的视图跳转中 代理方法与代码块的比较

    //代码块与代替代理的设计方法 我就以在自定义视图中(非视图控制器,不能实现视图控制功能),通过代理和代码块两种方法分别实现视图的跳转,进行对比 首先自定义了一个视图,上面有一个已经注册了得BUtto ...

  6. iOS开发——网络篇——NSURLSession,下载、上传代理方法,利用NSURLSession断点下载,AFN基本使用,网络检测,NSURLConnection补充

    一.NSURLConnection补充 前面提到的NSURLConnection有些知识点需要补充 NSURLConnectionDataDelegate的代理方法有一下几个 - (void)conn ...

  7. UITableView表格视图、UITableView代理方法及应用

    一.基本知识点 UITableView表格视图,是一个可以滚动的界面(理解为垂直滚动的UIScrollView),可展示多行数据,没有行数的限制,只能有一列. 使用UITableView: 1.展示信 ...

  8. 弃用的异步get和post方法之代理方法

    #import "ViewController.h" #import "Header.h" @interface ViewController () <N ...

  9. IOS中tableView每组的头部控件、通过tableView的代理方法控制某一行的cell能否达到高亮选中状态

    一.tableView每组的头部控件 1.控件宽度默认就是tableView的宽度 2.控件高度由下面的代理方法决定 - (CGFloat)tableView:(UITableView *)table ...

随机推荐

  1. v0lt CTF安全工具包

    0×00 v0lt v0lt是一个我尝试重组每一个我使用过的/现在在使用的/将来要用的用python开发的安全领域CTF工具.实践任务可能会采用bash脚本来解决,但我认为Python更具有灵活性,这 ...

  2. yii过滤xss代码,防止sql注入

    作者:白狼 出处:www.manks.top/article/yii2_filter_xss_code_or_safe_to_database 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明 ...

  3. informatica powercenter学习笔记(LookUp 使用)

    LOOKUP TRANSFORMATION的使用点评: LOOKUP基本用法不熟的话请参考下附属信息. 用法感受: 1 LOOKUP的作用跟我们以前在EXCEL的函数功能类似,就是隔表取值.优点就是用 ...

  4. ofbiz 本地化及邮件设置126邮箱

    ofibz登陆功能有通过电子邮件找会密码的功能,但找回密码功能需要配置一个发送email的邮箱账号和smtp服务器的配置,具体配置如下: 1:在ofbiz数据库的表product_store_emai ...

  5. linux学习之路——ubuntu 16.04 开机开启数字小键盘解决方法

    第一步:安装numlockx,输入命令 sudo apt-get install numlockx 第二步:用 vim 打开 rc.local 文件,输入命令 sudo vim /etc/rc.loc ...

  6. 初学git,出现错误:fatal: Not a git repository (or any of the parent directories): .git

    提示说没有.git这样一个目录,解决办法: 输入  git init 就可以啦.

  7. Android系统自带样式(android:theme)详解-(转)

    android:theme="@android:style/Theme.Dialog" : Activity显示为对话框模式 android:theme="@androi ...

  8. Kali Linux 秘籍/Web渗透秘籍/无线渗透入门

    Kali Linux 秘籍 原书:Kali Linux Cookbook 译者:飞龙 在线阅读 PDF格式 EPUB格式 MOBI格式 Github Git@OSC 目录: 第一章 安装和启动Kali ...

  9. emacs 新手笔记(三) —— 为 emacs 做一点简单的定制

    ilocker:关注 Android 安全(新入行,0基础) QQ: 2597294287 在 emacs 启动时,会加载 ~/.emacs 文件.在该文件中编辑一些 lisp 代码,是一种最为简单的 ...

  10. PHP正确的使用复数

    <?php // 正确地显示复数 if(!function_exists('_plurals_format')) { /** * 正确的使用复数 * @access public * @auth ...