リターンキーで入力した改行を削除したい。しかし、次のことを行うと、テキストから最後の文字が削除されます。なんで?
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text;
{
NSLog(@"%d %d %@ %@",range.location,range.length, text, [textView text]);
if ( [text isEqualToString:@"\n"] ) {
NSString *s = [textView text];
s = [s substringToIndex:[s length] - 1]; // <------------
[tvText setText:[NSString stringWithFormat:@"%@\n>>",s]];
}
return YES;
}
結果を次のようにしたいと思います。
>>name
>>yoda
>> <---- cursor is moved to the right of ">>"