iPhone Programming: Rechtschreibprüfung in UITextView deaktivieren
UITextAutocorrectionTypeNo hat bei mir nicht funktioniert.
Ich arbeite an einer Kreuzworträtsel-App für das iPhone. Die Fragen sind in UITextViews und ich benutze UITextFields für die Benutzereingabe jedes Buchstabens. Durch Berühren einer Frage (UITextView) wird das Textfeld für die erste Antwort charFirstResponder.
Es funktioniert alles einwandfrei, aber die UITextViews überprüfen noch immer die Rechtschreibung und markieren die falschen Wörter in der Frage, auch wenn ich sie auf UITextAutocorrectionTypeNo gesetzt habe.
//init of my Riddle-Class
...
for (int i = 0; i < theQuestionSet.questionCount; i++) {
Question *myQuestion = [theQuestionSet.questionArray objectAtIndex:i];
int fieldPosition = theQuestionSet.xSize * myQuestion.fragePos.y + myQuestion.fragePos.x;
CrosswordTextField *myQuestionCell = [crosswordCells objectAtIndex:fieldPosition];
questionFontSize = 6;
CGRect textViewRect = myQuestionCell.frame;
UITextView *newView = [[UITextView alloc] initWithFrame: textViewRect];
newView.text = myQuestion.frageKurzerText;
newView.backgroundColor = [UIColor colorWithRed: 0.5 green: 0.5 blue: 0.5 alpha: 0.0 ];
newView.scrollEnabled = NO;
newView.userInteractionEnabled = YES;
[newView setDelegate:self];
newView.textAlignment = UITextAlignmentLeft;
newView.textColor = [UIColor whiteColor];
newView.font = [UIFont systemFontOfSize:questionFontSize];
newView.autocorrectionType = UITextAutocorrectionTypeNo;
[textViews addObject:newView];
[zoomView addSubview:newView];
[newView release];
}
...
//UITextView delegate methode in my Riddle-Class
-(BOOL)textViewShouldBeginEditing:(UITextView *)textView {
textView.autocorrectionType = UITextAutocorrectionTypeNo;
for (int i = 0; i < [questionSet.questionArray count]; i++) {
if ([[[questionSet.questionArray objectAtIndex:i] frageKurzerText] isEqualToString:textView.text]) {
CrosswordTextField *tField = [self textfieldForPosition:
[[questionSet.questionArray objectAtIndex:i] antwortPos]];
markIsWagrecht = [[questionSet.questionArray objectAtIndex:i] wagrecht];
if ([tField isFirstResponder]) [tField resignFirstResponder];
[tField becomeFirstResponder];
break;
}
}
return NO;
}
Ich rufe UITextView an keinem anderen Ort auf.