テキストビューに以下の機能を実装します。
- 所定文字数までしか入力させない文字数制限機能
- 現在テキストビューに入力されている文字数のカウント
textlengthLabel
に現在の文字数を表示させます。
#define MAX_LENGTH 200 // 文字数制限を200に設定 - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text { NSUInteger newLength = (textView.text.length - range.length) + text.length; // ここ重要 if(newLength <= MAX_LENGTH) { _textLengthLabel.text = [NSString stringWithFormat:@"%d/%d", [textView.text length],MAX_LENGTH]; return YES; } else { textView.text = [[[textView.text substringToIndex:range.location] stringByAppendingString:1] stringByAppendingString:[textView.text substringFromIndex:(range.location + range.length)]]; _textLengthLabel.text = [NSString stringWithFormat:@"%d/%d", [textView.text length],MAX_LENGTH]; return NO; } }