iPhone: как получить количество строк, введенных в textView без учета ширины - PullRequest
0 голосов
/ 10 января 2011

В моем приложении для iPhone у меня есть текстовое представление, в которое пользователь будет вводить многострочные данные.

Теперь мне нужно решение, в котором я могу получить количество строк.

IМне нужно решение, которое не учитывает ширину.

Мне нужно только количество строк, введенных пользователем в textView.

Как я могу это сделать?

Ответы [ 3 ]

2 голосов
/ 10 января 2011

Так как вы сказали «без учета ширины», а не «без учета высоты», вот как вы это делаете:

int numberOfLines = yourUITextView.contentSize.height / yourUITextView.font.lineHeight

Свойство UIFont lineHeight является новым для iOS4.0,для более старых версий используйте leading свойство.

Редактировать,

этот ответ применяется к текстовым представлениям, где были автоматически вставлены разрывы строк (т. е. строка получилась длинной)Чтобы узнать количество вставленных вручную разрывов строк, ответ Terentes сделает это.

Чтобы посчитать вручную вставленные разрывы строк, этот хак должен сделать это:

int numberOfManuallyBreaks = [[yourUITextView componentsSeparatedByString:@"\n"] count];
0 голосов
/ 10 января 2011

Вы пытались извлечь число строк с помощью свойства numberOfLines TextView.

0 голосов
/ 10 января 2011

Под линией вы подразумеваете, когда пользователь нажимает клавишу возврата на клавиатуре? Если это так, посчитайте \ n в нем. Надеюсь, это поможет.

NSArray *arrayWithLines = [myString componentsSeparatedByString:@"\n"];
NSLog(@"Number of Lines:%@",[arrayWithLines count]);
...