2013-03-14 2 views
1

Я хочу установить положение курсора на основе координат x, y в текстовом представлении. Например, я хочу позицию курсора на (10,5,300,462), я хочу вставить текст в этот кадр только на основе курсора.установить позицию курсора в текстовом режиме

В связи сделал нагрузку я установить делегат и использовать функцию NSMakeRange()

- (void)viewDidLoad 
    { 
     [super viewDidLoad]; 
     _TextView.delegate=self; 
      _TextView.editable = YES; 
      [_TextView setSelectedRange:NSMakeRange(5,0)]; 
    } 

Я создаю текстовый вид с рамкой из (10,22,300,462) и добавляет к виду. Мой reqirement - я хочу отобразить курсор на текстовой базе по координатам x, y x = 10 после и y = 5 после текстового просмотра ...

+0

см. Http://stackoverflow.com/questions/10135086/how-to-set-cursor-position-for-uitextview-on-user-input – Vishal

+0

http://stackoverflow.com/questions/8891072/how -to-set-the-the-the-the-the-cursor-in-uitextview – Rushabh

+0

вы получаете решение? – Balu

ответ

0

попробуйте, как будто это работает в моем случае, это работает,

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

- (void)setCursorPosition:(UITextView *)textview 
{ 
    textview.selectedRange = NSMakeRange(10, 0); 
} 
+0

солнечный я хочу работать курсор конкретных границ ... – user1997077

+0

например, текстовый размер (0,0,300,421), и я хочу позиция курсора на (10,5.250,400) .. курсор оставшейся области не работает ... – user1997077

0

hello stack overflow community. Надеюсь, я не отвечу допоздна.

- (NSUInteger) textOffsetFromPoint: (CGPoint *) position 
{ 
    // this gives you the nearest UITextPosition 
    UITextPosition * closestPosition = [textView closestPositionToPoint:tapPoint]; 

    // and this "translate" UITextPosition into an integer 
    NSUInteger offset = [textView offsetFromPosition:textView.beginningOfDocument 
              toPosition:closestPosition]; 
    return offset; 
} 

то код, предложенный Sunny.

[self performSelector:@selector(setCursorPosition:) withObject:textView afterDelay:0.01]; 

- (void)setCursorPosition:(UITextView *)textview 
{ 
    textview.selectedRange = NSMakeRange([self textOffsetFromPoint:position], 0); 
} 

См. UITextInput Protocol Reference для получения дополнительной информации.

Смежные вопросы