How to set the position of the cursor in UITextView

Spread the love

Question Description

I have an UITextView in my iPhone app which is editable.

New button is created inside the UITextView whenever user select a specific function.

As the button is always placed on the left side in the text view, I need to position the cursor on the right side of the button so that user can see what they are typing.
I can’t seem to find a documented (or undocumented) method to set location of the cursor.

Does anybody have any ideas or has anybody else achieved anything similar?

Practice As Follows

I know this is VERY late, but I thought I could help people stuck in this (like me).

The performSelector:withObject:afterDelay seems to work fine (the other answers just wouldn’t work for some strange reason):

- (void)textViewDidBeginEditing:(UITextView *)inView 
{ 
[self performSelector:@selector(setCursorToBeginning:) withObject:inView afterDelay:0.01]; 
} 

- (void)setCursorToBeginning:(UITextView *)inView 
{ 
//you can change first parameter in NSMakeRange to wherever you want the cursor to move
inView.selectedRange = NSMakeRange(3, 0); 
} 

source: http://puppenspieler.tumblr.com/post/757819650/set-selectedrange-in-a-uitextview

Leave a Comment