#ios #textview
#iOS #textview
Вопрос:
Я новичок в разработке iPhone.Нужна помощь.Я разрабатываю приложение для iPhone, которое содержит UITextView, я хочу подсчитывать слова textview, а не использовать textview.text.length, просто количество слов. и я хочу автоматическую прокрутку textview за одну минуту
-(IBAction)startbutton:(id)sender{
timer = [NSTimer scheduledTimerWithTimeInterval:0.1
target:self
selector:@selector(updateScroll)
userInfo:nil
repeats:YES];
self.startingTime = [NSDate date];
}
-(void)updateScroll
{
double noSeconds = (double) [self.startingTime timeIntervalSinceNow] /60;
frtextview.contentOffset = CGPointMake(0,noSeconds * frtextview.contentSize.height);
}
Приведенный выше код может прокручиваться автоматически, но текстовый просмотр прокручивается сверху вниз, я хочу его сверху вниз, надеюсь, вы сможете помочь мне найти, в каком коде проблема.Спасибо за вашу помощь
Ответ №1:
NSScanner можно использовать для подсчета слов, сканирования пробелов и подсчета количества вхождений, которые должны работать.
Если вы просто отмените свой contentOffset, я бы подумал, что это изменит направление вашей прокрутки.
frtextview.contentOffset = CGPointMake(0, -(noSeconds * frtextview.contentSize.height));
Вот простой пример:
-(unsigned) wordCount: (NSString *) textString
{
NSScanner *wordScanner = [NSScanner scannerWithString: textString];
NSCharacterSet *whiteSpace = [NSCharacterSet whitespaceAndNewlineCharacterSet];
unsigned wordCount = 0;
while ([wordScanner scanUpToCharactersFromSet: whiteSpace intoString: nil])
{
wordCount ;
}
return wordCount;
}
Я получил исходный код здесь, где есть гораздо более подробное обсуждение:
http://hintsforums.macworld.com/archive/index.php/t-26871.html
Комментарии:
1. Спасибо за помощь. Я знаю только, что класс NSScanner доступен в Mac OS X версии 10.0 и более поздних версиях. Могу ли я использовать его в iOS?
2. Я использовал его в своих приложениях для iOS.
3. Можете ли вы сказать мне, как использовать NSScanner для подсчета слов? Или пример кода? Спасибо за помощь!
4. Я добавил немного кода и ссылку для вас. Конечно, вы могли бы сделать гораздо больше, в зависимости от того, насколько необычно вы хотите получить.