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 ...
随机推荐
- Blocks的实现
相关结构体与函数 __block_impl 存储block对应类型信息(属于哪个Block大类,以及对应的回调函数指针FuncPtr struct __block_impl { void *isa; ...
- 0010《SQL必知必会》笔记06-表的修改与删除
1.表的修改: 1.1 删除列:ALTER TABLE 表名 DROP COLUMN 列名 1.2 添加列:ALTER TABLE 表名 ADD(列名 数据类型) 1.3 修改列名:ALTER TAB ...
- C# 多线程,论多核时代爱恨情仇
为什么要学习多线程? 2010年1月21日是10年某市公务员考试的报名截止日.因从下午2点开始,用于报名的北京市人事考试网瘫痪,原定于昨天下午5点截止的报名时间延迟至今天上午11点. 2011年3月1 ...
- CentOS 7最小化安装后找不到‘ifconfig’命令——修复小提示
如果你不知道在哪里可以找到ifconfig命令,请按照以下简单的步骤来找到它.首先,让我们找出哪个包提供了ifconfig命令.要完成这项任务,输入以下命令: [root@jrserver app_f ...
- oracle11G使用DGbroker创建dg
1.环境: a.主机环境:centos6.5 b.软件环境:oracle 11.2.0.4 c.主机信息: DG1:192.168.100.51(数据库sid:atest) DG2:192.168.1 ...
- android 布局下划线
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_cont ...
- oops call trace 解析
Call Trace: [ 221.634988] [<ffffffff8103fbc7>] ? kmld_pte_lookup+0x17/0x60 [ 221.635016] [ ...
- 使用HTTP方式远程连接PowerShell
借助Windows PowerShell,我们可以像管理Linux一样使用命令行来远程管理Windows服务器.但是默认情况下,我们只能在域环境中使用PowerShell Remoting.如果是通过 ...
- Rename in Batch [Python]
#!/usr/bin/python2.7 # Program: # Rename files in current folder in batch. # Date: # 2016-04-17 # Us ...
- Simple Infinite automaton [C]
Today I read the book Formal Language and Automaton Theory. And I learnt the infinite automaton. Her ...