我想知道如何限制用户在编辑UITextField时可以输入的LINES(不是其他问题中提到的字符)的数量.
理想情况下,我想将输入限制为最大值.10行.
我需要从哪里开始?我是用方法做的吗?在
- (BOOL)textViewShouldBeginEditing:(UITextView *)aTextView
Run Code Online (Sandbox Code Playgroud) 我尝试检测托架在UITextView中的新行.我可以通过比较总后来宽度和UITextView宽度来检测它:
CGSize size = [textView.text sizeWithAttributes:textView.typingAttributes];
if(size.width > textView.bounds.size.width)
NSLog (@"New line");
Run Code Online (Sandbox Code Playgroud)
但它不能正常工作,因为-sizeWithAttributes:textView只返回没有缩进宽度的字母宽度.请帮忙解决这个问题.
我试图将文本输入限制为可可触摸中的UITextView.我真的想限制行数而不是字符数.到目前为止,我有这个来计算行数:
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
if([text isEqualToString:@"\n"]) {
rows++;
}
NSLog(@"Rows: %i", rows);
return YES;
}
Run Code Online (Sandbox Code Playgroud)
但是,如果自动换行而不是用户按下返回键,则不起作用.有没有办法检查文本是否包装类似于检查"\n"?
谢谢.