Ich habe den ganzen Morgen nach einer Lösung gesucht, aber muss noch etwas finden, das funktioniert.Einstellung UITextView Cursor-Position bis zum Ende des Textes
Ich habe eine Textansicht, die einen festen Text enthält, den der Benutzer nicht ändern darf. In diesem Fall beginnt jede meiner Textansichten mit "1.", "2." usw. Die Idee ist, dass der eingegebene Text für etwas nummeriert wird, was ich später mache.
Ich möchte nicht, dass der Benutzer diesen Text löschen kann (es ist im Wesentlichen "permanent"). Ich möchte ihnen auch nicht erlauben, in der Mitte dieses Vortexts Text hinzuzufügen.
-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
if (range.location < 3) return NO;
return YES;
}
Dies funktioniert gut, außer dass, wenn der Benutzer berührt überall in meinem „1“, „2“, usw. Teile der Ansicht es,:
Um dies zu umgehen, habe ich getan wird den Cursor dort setzen, was den Benutzer daran hindert, aufgrund der Überprüfung des Bereichsstandorts Text einzugeben. Was ich in diesem Fall tun möchte, ist den Cursor (vielleicht in textViewDidBeginEditing) an das Ende des Textes in der Ansicht gesetzt. Unabhängig davon, welche Kombination von selectedRange ich verwende, kann ich den verdorbenen Cursor jedoch nicht zum Ende bewegen. Jede Hilfe würde sehr geschätzt werden.
Ein noch einfacherer Weg wäre, Ihre Zahlen in ein Label direkt gegen Ihre Textansicht zu setzen, so dass sie aussehen wie sie Teil des gleichen Satzes sind. Dann können sie nur den entsprechenden Teil ändern. – lnafziger