textview.selectedRange.location в UITextview шоу 2147483647 - PullRequest
0 голосов
/ 05 января 2011

У меня есть текстовое представление, и я хочу получить значение selectedRange.location из этого текстового представления.в первый раз, когда появляется клавиатура, значение местоположения всегда показывает целую точку, например, 110 или другие.Но если я исчезну с клавиатуры, а затем снова появлюсь клавиатура, значение местоположения всегда будет отображать 2147483647. Что означает это значение 2147483647 и как получить реальное значение местоположения?

Это мой код в клавиатуре появится метод:

    -(void)keyboardWillAppear:(NSNotification *)notification {
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:[[[notification userInfo] 
                               objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue]]; 
CGRect keyboardEndingUncorrectedFrame = [[[notification userInfo] 
                                          objectForKey:UIKeyboardFrameEndUserInfoKey ] CGRectValue];
CGRect keyboardEndingFrame = 
[self.view convertRect:keyboardEndingUncorrectedFrame 
              fromView:nil];

[UIView commitAnimations];
NSRange selectedRange = textview.selectedRange; 
NSLog(@"selected Range location : %f", selectedRange.location);

}

Ответы [ 2 ]

1 голос
/ 11 февраля 2011

Число - это максимальная длина 32-разрядного целого числа без знака, которое отображается на разных платформах и языках.Вы можете увидеть статью Википедии .Это результат переполнения, константы, представляющей «ничего не выбрано», или, иногда, неинициализированной памяти.

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

Это будет NSNotFound, предположительно указывая на отсутствие текущего выбора.

...