2011-01-05 6 views
0

Ich habe eine Textansicht und ich möchte den Wert selectedRange.location aus dieser Textansicht erhalten. Wenn die Tastatur zum ersten Mal angezeigt wird, zeigt der Standortwert immer einen ganzzahligen Punkt wie 110 oder andere. Aber wenn ich die Tastatur wieder ausgeblendet habe und die Tastatur wieder erscheint, wird der Standortwert immer 2147483647 angezeigt. Was ist das 2147483647 und wie erhält man den tatsächlichen Standortwert?textview.selectedRange.location in UITextview show 2147483647

Dies ist mein Code in der Tastatur Methode erscheint:

-(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); 

}

Antwort

0

Die NSNotFound wäre, vermutlich darauf hinweist, dass es keine aktuelle Auswahl ist.

+0

aber ich habe auf die Textansicht geklickt, warum der Standort nicht ausgewählt ist? –

+0

Ich verstehe immer noch nicht, warum ich den Speicherort in keywordwillappear nicht abrufen kann, aber dann kann ich den Wert von TextView abrufen: sentChangeTextInRange: replacementText: Methode, also wähle ich diesen Wert zu verwenden ... Danke Otto :) –

1

Die Zahl ist die maximale Länge einer vorzeichenlosen 32-Bit-Ganzzahl und wird plattform- und sprachenübergreifend angezeigt. Möglicherweise sehen Sie die Wikipedia article. Es ist das Ergebnis eines Überlaufs, einer Konstante, die "nichts ausgewählt" oder manchmal nicht initialisierten Speicher darstellt.