- (void)viewDidLoad {
[super viewDidLoad];
// self.m_renameType = ClearRenameTypeNone;
// Do any additional setup after loading the view.
[selfinitUI];
[self.view setBackgroundColor:[UIColor whiteColor]];
//添加代理
//self.m_newnameEdit.delegate = self;
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textFiledEditChanged:) name:@"UITextFieldTextDidChangeNotification" object:self.m_newnameEdit];
}
-(void)dealloc{
// if(self.m_newnameEdit != nil){
// self.m_newnameEdit.delegate = nil;
// }
[[NSNotificationCenter defaultCenter] removeObserver:self name:@"UITextFieldTextDidChangeNotification" object:self.m_newnameEdit];
}
-(void)textFiledEditChanged:(NSNotification*)obj{
UITextField*textField = (UITextField*)obj.object;
NSString*toBeString = textField.text;
NSString*lang = [[textFieldtextInputMode]primaryLanguage];// 获取当前键盘输入模式
NSLog(@"%@",lang);
if([lang isEqualToString:@"zh-Hans"]) {//简体中文输入,第三方输入法(搜狗)所有模式下都会显示“zh-Hans”
UITextRange*selectedRange = [textFieldmarkedTextRange];
//获取高亮部分
UITextPosition*position = [textFieldpositionFromPosition:selectedRange.startoffset:0];
//没有高亮选择的字,则对已输入的文字进行字数统计和限制
if(!position) {
NSString*getStr = [selfgetSubString:toBeString];
if(getStr && getStr.length>0) {
textField.text= getStr;
}
}
}else{
NSString*getStr = [selfgetSubString:toBeString];
if(getStr && getStr.length>0) {
textField.text= getStr;
}
}
}
- (NSString*)getSubString:(NSString*)string{
NSStringEncoding encoding = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingUTF8);
NSData* data = [stringdataUsingEncoding:encoding];
NSIntegerlength = [datalength];
if(length >15) {
//self.m_newnameEdit.enabled = NO;
NSData*data1 = [datasubdataWithRange:NSMakeRange(0,15)];
NSString*content = [[NSStringalloc]initWithData:data1encoding:encoding];
//当截取kMaxLength长度字符时把中文字符截断返回的content会是nil
if(!content || content.length==0) {
data1 = [datasubdataWithRange:NSMakeRange(0,15-1)];
content = [[NSStringalloc]initWithData:data1encoding:encoding];
}
returncontent;
}
return nil;
}
UITextfield
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 根据项目需求,在项目中许多地方都要用到TextField用于接受用户的输入,而且这些文本框全部都是统一的自定义样式...
- 解决方案: http://xummer26.com/blog/add-UITextField-onto-UITex...
- 一个界面里面有多个UITextField时,点击每个UITextField都会进入textFieldShouldB...
- 猫猫分享,必须精品 原创文章,欢迎转载。转载请注明:翟乃玉的博客地址:http://www.jianshu.com...
- 解决办法如下1:设置clearButtonMode 2:创建一个UITextField的子类,添加一下方法 ** ...