[self.textfiled addTarget:self action:@selector(textFieldChange) forControlEvents:UIControlEventEditingChanged];
- (void)textFieldChange{
NSString *toBeString = self.textfiled.text;
NSString *lang = self.textfiled.textInputMode.primaryLanguage;
if([lang isEqualToString:@"zh-Hans"]){ //简体中文输入,包括简体拼音,健体五笔,简体手写
UITextRange *selectedRange = [self.textfiled markedTextRange];
UITextPosition *position = [self.textfiled positionFromPosition:selectedRange.start offset:0];
//输入中文时 当前输入汉语拼音 没有选中对应中文时 position是有值的 但是当选中了对应的中文时 position=null
NSLog(@"%@",position);
if (position==nil){//选中中文时 position为空
if (toBeString.length > 15) {
UIAlertController * alert = [UIAlertController alertControllerWithTitle:@"提示" message:@"标题长度不能超过15位" preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction * action = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:nil];
[alert addAction:action];
[self presentViewController:alert animated:YES completion:nil];
self.textfiled.text = [toBeString substringToIndex:15];
[self.labelNum setText:[NSString stringWithFormat:@"15/15"]];
CGSize size = [MyManager sharedManager:[NSString stringWithFormat:@"15/15"] AndFontSize:14];
self.labelNum.frame=CGRectMake(UISCREEN_WIDTH-size.width-20*kScreenWidthRatio, 0, size.width, 44*kScreenHeightRatio);
}
else{
[self.labelNum setText:[NSString stringWithFormat:@"%lu/15",self.textfiled.text.length]];
CGSize size = [MyManager sharedManager:[NSString stringWithFormat:@"%lu/15",self.textfiled.text.length] AndFontSize:14];
self.labelNum.frame=CGRectMake(UISCREEN_WIDTH-size.width-20*kScreenWidthRatio, 0, size.width, 44*kScreenHeightRatio);
}
}
}else{//中文输入法以外
if (toBeString.length > 15) {
UIAlertController * alert = [UIAlertController alertControllerWithTitle:@"提示" message:@"标题长度不能超过15位" preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction * action = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:nil];
[alert addAction:action];
[self presentViewController:alert animated:YES completion:nil];
self.textfiled.text = [toBeString substringToIndex:15];
[self.labelNum setText:[NSString stringWithFormat:@"15/15"]];
CGSize size = [MyManager sharedManager:[NSString stringWithFormat:@"15/15"] AndFontSize:14];
self.labelNum.frame=CGRectMake(UISCREEN_WIDTH-size.width-20*kScreenWidthRatio, 0, size.width, 44*kScreenHeightRatio);
}
else
{
[self.labelNum setText:[NSString stringWithFormat:@"%lu/15",self.textfiled.text.length]];
CGSize size = [MyManager sharedManager:[NSString stringWithFormat:@"%lu/15",self.textfiled.text.length] AndFontSize:14];
self.labelNum.frame=CGRectMake(UISCREEN_WIDTH-size.width-20*kScreenWidthRatio, 0, size.width, 44*kScreenHeightRatio);
}
}
}