TextField、TextView 輸入,超過設定長度自動截取符合規定長度。一個漢字至關於兩個字符。添加一個類別,實現以下:blog
//字符長度限制 - (BOOL)stringLengthValidateWithLimitLength:(NSInteger)maxLength{ BOOL result = YES; if ([self countOfBytes] > maxLength) result = NO; return result; } - (NSInteger)countOfBytes { return [self dataUsingEncoding:CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000)].length; } - (NSString *)substringWithLength:(NSInteger)maxLength{ __block NSInteger leng = 0; __block NSString *result = nil; [self enumerateSubstringsInRange:NSMakeRange(0, self.length) options:NSStringEnumerationByComposedCharacterSequences usingBlock:^(NSString * _Nullable substring, NSRange substringRange, NSRange enclosingRange, BOOL * _Nonnull stop) { leng += [substring dataUsingEncoding:CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000)].length; if (leng >= maxLength) { result = [self substringWithRange:NSMakeRange(0, enclosingRange.location + enclosingRange.length)]; *stop = YES; } }]; return result; }