Iphone 限制UITextView中的行数

Iphone 限制UITextView中的行数,iphone,uitextview,limit,lines,Iphone,Uitextview,Limit,Lines,我在我的应用程序中使用UITextView,我希望用户最多输入5行文本,我在google上花了几天时间,但仍然没有运气,请有人帮忙 PS:不限制字符数,但限制“行”数 我已尝试查找行数并使用此方法textView:(UITextView*)textView应更改textinrange:(nsrrange)range replacementText:(NSString*)text,在达到限制时返回NO,但在达到限制后back space按钮不起作用 谢谢 如果线条没有自动换行,您可以使用以下方法:

我在我的应用程序中使用UITextView,我希望用户最多输入5行文本,我在google上花了几天时间,但仍然没有运气,请有人帮忙

PS:不限制字符数,但限制“行”数


我已尝试查找行数并使用此方法
textView:(UITextView*)textView应更改textinrange:(nsrrange)range replacementText:(NSString*)text
,在达到限制时返回NO,但在达到限制后back space按钮不起作用


谢谢

如果线条没有自动换行,您可以使用以下方法:

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
        if([text isEqualToString:@"\n"]) {
            rows++;
        if(rows >= maxNumberOfLines){
            //Exit textview
             return NO;
            }
       }
      return YES;
}
这应该行得通,但这不是最好的解决办法


最好使用字符串的大小,并将其与textview的contentsize进行比较以限制它。

您可以尝试查看以下
UITExpoint协议
(UITextView符合该协议)方法


和-1的可能重复,这个问题没有显示出任何努力。除了在谷歌上寻找其他人的解决方案外,你还尝试了什么?+1对于这个问题,他说他尝试了一些东西:)我尝试了查找行数并使用这个方法textView:
(UITextView*)textView应该更改TextInRange:(NSRange)range replacementText:(NSString*)text
,当达到限制时返回NO,但达到限制后back space按钮不起作用。如果用户自然到达新行(未按return)。Deco。这些不是“自然到达”的。这个答案没有考虑很多情况,例如用户移动插入符号或用户进行任何形式的剪切、复制或粘贴。
- (NSInteger)characterOffsetOfPosition:(UITextPosition *)position withinRange:(UITextRange *)range

- (UITextRange *)characterRangeByExtendingPosition:(UITextPosition *)position inDirection:(UITextLayoutDirection)direction

- (CGRect)firstRectForRange:(UITextRange *)range

@property(nonatomic, readonly) UITextPosition *endOfDocument