uitextField单词的方法和抖动的限制
这种方法还可以找到在线。
如下面的详细信息:
.h文件
#import <UIKit/UIKit.h> @interface UITextField (LimitLength)
/**
* 使用时仅仅要调用此方法。加上一个长度(int),就能够实现了字数限制,汉字不能够
*
* @param length
*/
- (void)limitTextLength:(int)length;
/**
* uitextField 抖动效果
*/
- (void)shake;
@end
.m文件
#import "UITextField+LimitLength.h"
#import <objc/runtime.h> @implementation UITextField (LimitLength)
static NSString *kLimitTextLengthKey = @"kLimitTextLengthKey";
- (void)limitTextLength:(int)length
{
objc_setAssociatedObject(self, (__bridge const void *)(kLimitTextLengthKey), [NSNumber numberWithInt:length], OBJC_ASSOCIATION_RETAIN_NONATOMIC); [self addTarget:self action:@selector(textFieldTextLengthLimit:) forControlEvents:UIControlEventEditingChanged]; }
- (void)textFieldTextLengthLimit:(id)sender
{
NSNumber *lengthNumber = objc_getAssociatedObject(self, (__bridge const void *)(kLimitTextLengthKey)); int length = [lengthNumber intValue]; if(self.text.length > length){ self.text = [self.text substringToIndex:length];
}
} - (void)shake
{
CAKeyframeAnimation *keyAn = [CAKeyframeAnimation animationWithKeyPath:@"position"];
[keyAn setDuration:0.5f];
NSArray *array = [[NSArray alloc] initWithObjects:
[NSValue valueWithCGPoint:CGPointMake(self.center.x, self.center.y)],
[NSValue valueWithCGPoint:CGPointMake(self.center.x-5, self.center.y)],
[NSValue valueWithCGPoint:CGPointMake(self.center.x+5, self.center.y)],
[NSValue valueWithCGPoint:CGPointMake(self.center.x, self.center.y)],
[NSValue valueWithCGPoint:CGPointMake(self.center.x-5, self.center.y)],
[NSValue valueWithCGPoint:CGPointMake(self.center.x+5, self.center.y)],
[NSValue valueWithCGPoint:CGPointMake(self.center.x, self.center.y)],
[NSValue valueWithCGPoint:CGPointMake(self.center.x-5, self.center.y)],
[NSValue valueWithCGPoint:CGPointMake(self.center.x+5, self.center.y)],
[NSValue valueWithCGPoint:CGPointMake(self.center.x, self.center.y)],
nil];
[keyAn setValues:array]; NSArray *times = [[NSArray alloc] initWithObjects:
[NSNumber numberWithFloat:0.1f],
[NSNumber numberWithFloat:0.2f],
[NSNumber numberWithFloat:0.3f],
[NSNumber numberWithFloat:0.4f],
[NSNumber numberWithFloat:0.5f],
[NSNumber numberWithFloat:0.6f],
[NSNumber numberWithFloat:0.7f],
[NSNumber numberWithFloat:0.8f],
[NSNumber numberWithFloat:0.9f],
[NSNumber numberWithFloat:1.0f],
nil];
[keyAn setKeyTimes:times]; [self.layer addAnimation:keyAn forKey:@"TextAnim"];
}
@end
<span style="font-size: 14px; font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">在调用的地方例如以下:</span>
[m_userNamelimitTextLength:8];
这个类有个问题,就是不能对中文做限制,也会crash . 在使用时要注意,能够对textField设置键盘类型。
下个整理点:category与associative作为objective-c的扩展机制的两个特性,category即类型,能够通过它来扩展方法;associative,能够通过它来扩展属性;
整理地方:http://blog.csdn.net/quanqinyang/article/details/38017581
版权声明:本文博客原创文章,博客,未经同意,不得转载。
uitextField单词的方法和抖动的限制的更多相关文章
- UITextField属性及方法说明
/初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(, , , )] //设置 ...
- UITextField的代理方法:textField:shouldChangeCharactersInRange:replacementString
原文链接:http://www.cnblogs.com/zhanggui/p/6101813.html 这个我在开发的过程中用到的次数最多,因此这里就简单对其进行分析.先看看Command+点击 弹出 ...
- IOS 学习笔记(6) 控件 文本域(UITextField)的使用方法
UITextField控件的诸多特性都和UITextView相似,比如成为输入文本焦点时键盘自动显示,支持长按弹出动作选项,能够接收输入事件(开始输入,修改内容,结束输入和点击回车等). 1.特有的特 ...
- 输入框UITextField禁止输入空格方法
方法一:添加代理 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range rep ...
- vim中的高亮全部同样单词的方法
用vim时,想高亮显示一个单词并查找的方发.将光标移动到所找单词. 1: shift + "*" 向下查找并高亮显示 2: shift + "#" 向上查找 ...
- [BS-19]更改UITextField的placeholder文字颜色的5种方法
更改UITextField的placeholder文字颜色的5种方法 想要达到的目标是:一个页面上有多个UITextField,当用户聚焦某textField时,该文本框的placeholder的文字 ...
- UITextField 限制用户输入小数点后位数的方法
UITextField 限制用户输入小数点后位数的方法 位数限制: limited 在UITextField的代理方法中添加类似如下代码 - (BOOL)textField:(UITextField ...
- iOS学习21之UILabel, UITextField, UIButton, UIImageView
1.UILabel 1> 概述 UILabel (标签): 是显示文本的控件.在App中 UILabel 是出现频率最高的控件 UILabel 是 UIView 子类,作为子类一般是为了扩充父类 ...
- UITextField和UIViewConteoller
UITextField控件 UITextFiled常用属性和方法 UITextField是常用的文本输入控件,比如我们用的QQ的登录界面,词典输入要查询的单词都使用了文本框控件,如下图所示.之前介 ...
随机推荐
- HTML5 CSS3专题 纯CSS打造相冊效果
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/30993277 今天偶然发现电脑里面还有这种一个样例.感觉效果还不错,不记得啥时候 ...
- WebApi异常
WebApi异常处理解决方案 前言:上篇C#进阶系列——WebApi接口传参不再困惑:传参详解介绍了WebApi参数的传递,这篇来看看WebApi里面异常的处理.关于异常处理,作为程序员的我们肯定 ...
- java文字转成拼音
package com.jframe.kit; import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4 ...
- 项目之软件project(我专业四年都未曾知道这四个字的含义,几句话便懂了)
潘鹏在CSDN上原创.如其它站点转载请注意排版和写明出处: 软件project的本质 一级标题 控制 质量 二级标题 成本 扩展 高内聚低耦合 效率 控制: 成本:企业要求的是以最快的速度完毕可 ...
- 基于.net开发chrome核心浏览器【二】
原文:基于.net开发chrome核心浏览器[二] 一: 上一篇的链接: 基于.net开发chrome核心浏览器[一] 二: 相关资源介绍: chrome Frame: 让IE有一颗chrome的心, ...
- Conversion to Dalvik format failed with error 1
主要和添�的第三方的包有关系. ======================================= 出现,Conversion to Dalvik format failed with e ...
- windows phone (17) ManipulationDelta事件
原文:windows phone (17) ManipulationDelta事件 ManipulationDelta事件会是在触摸位置发生变化是引发,比如可以根据用户在触摸屏中移动的位置,图片发生相 ...
- POJ1163 The Triangle 【DP】
The Triangle Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 36918 Accepted: 22117 De ...
- Android开发ListView使用OnScrollListener实现分页加载数据
上篇博文和大家分享了下拉刷新,这是一个用户体验很好的操作方式.新浪微薄就是使用这样的方式的典型. 还有个问题,当用户从网络上读取微薄的时候.假设一下子所有载入用户未读的微薄这将耗费比較长的时间,造成不 ...
- s有一天,教你开始truts2
写在前面 他也是一个java和java web新秀.此前有过接触java web发展 我想一个小项目.要熟悉struts2开发过程 一个有趣的想法源于教研室项目上的一个功能实现–自己主动识别运营商,去 ...