当用户输入29个字符时,将UITextView插入符号移动到新行?

时间:2015-10-14 07:42:52

标签: ios uitextview uitextviewdelegate

我想在UITextView中只有3行。每行最多29个字符

我做的是

 static const NSUInteger MAX_NUMBER_OF_LINES_ALLOWED = 3;

        NSMutableString *t = [NSMutableString stringWithString: self.addressTextView.text];
        [t replaceCharactersInRange: range withString: text];

        NSUInteger numberOfLines = 0;
        for (NSUInteger i = 0; i < t.length; i++) {
            if ([[NSCharacterSet newlineCharacterSet] characterIsMember: [t characterAtIndex: i]]) {
                numberOfLines++;
            }
        }

        return (numberOfLines < MAX_NUMBER_OF_LINES_ALLOWED);

以下委托方法

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text

请告诉我如何将每行的长度限制为最多29个字符。

即如果用户在第一行输入29个字符,则将他带到换行符。

先谢谢。

1 个答案:

答案 0 :(得分:0)

如果我理解你的话。您需要在shouldChangeTextInRange:method中实现接下来的几行。

if (range. location%29==0) {
//add new line
}

我希望,它会对你有帮助!