CSDN学院讲师招募Markdown编辑器轻松写博文iOS8-Swift开发教程读文章说感想获好礼企业高端研修班培训直通车
iOS 7/8–uitextfield动态限制输入的字数
1、定义一个事件:
-(IBAction)limitLength:(UITextField *)sender{bool isChinese;//判断当前输入法是否是中文if([[[UITextInputMode currentInputMode] primaryLanguage] isEqualToString: @"en-US"]) {isChinese = false;}else{isChinese = true;}if(sender == self.txtName) {// 8位NSString *str = [[self.txtName text] stringByReplacingOccurrencesOfString:@"?"withString:@""];if(isChinese) { //中文输入法下UITextRange *selectedRange = [self.txtName markedTextRange];//获取高亮部分UITextPosition *position = [self.txtName positionFromPosition:selectedRange.start offset:0];// 没有高亮选择的字,则对已输入的文字进行字数统计和限制if(!position) {NSLog(@"汉字");if( str.length>=9) {NSString *strNew = [NSString stringWithString:str];[self.txtName setText:[strNew substringToIndex:8]];}}else{NSLog(@"输入的英文还没有转化为汉字的状态");}}else{NSLog(@"str=%@; 本次长度=%d",str,[str length]);if([str length]>=9) {NSString *strNew = [NSString stringWithString:str];[self.txtName setText:[strNew substringToIndex:8]];}}}}2、对UITextField控件添加监听事件://UIControlEventEditingChanged[self.txtName addTarget:self action:@selector(limitLength:) forControlEvents:UIControlEventEditingChanged];
上一篇iOS 快速切换开发环境
顶0踩0
主题推荐猜你在找
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
核心技术类目
,为了一些琐事吵架,然后冷战,疯狂思念对方,最后和好。