首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >开始编辑用户点击位置上的UITextView

开始编辑用户点击位置上的UITextView
EN

Stack Overflow用户
提问于 2014-10-27 20:54:14
回答 1查看 756关注 0票数 1

我有一个UITextView,它允许一些RichTextEditing。我希望每当用户点击特定位置的文本,光标应该移动到那里,编辑应该从那个位置开始。

问题:所发生的事情是,当我将光标拖到我选择的任何位置并写东西时,光标立即移动到UITextView文本的末尾并开始编写。我希望编辑从用户点击的位置或光标位置开始。

以下是我正在使用的功能。

代码语言:javascript
复制
-(void) textViewDidBeginEditing{
    //Can set the cursor or selected Range of textView here or tap gesture recognizer required?
    return true;
}
-(void) textViewDidEndEditing{
    return true;
}
-(void) textViewDidChangeTextInRange:(UITextView *) textView range:(NSMakeRange) range replacementText: (NSString *) text{
    //Sets attributed text of my TextView based on my input AccessoryView
    if(textView.text.lenght > range.location){
        //This is my point of concern where I want to start the editing
    }
    return false;
}

原谅我的代码错误。我现在无法访问我的objectiveC代码。我写这封信是为了让你知道我在做什么。我找到了这个,但没能让它起作用。我使用的是UITextView,它使用的是字段。how to move cursor in UITextField after setting its value

请指引我。

EN

回答 1

Stack Overflow用户

发布于 2014-10-28 08:13:01

苹果的功能有一些问题。我在函数中添加了代码引用( how to move cursor in UITextField after setting its value )

代码语言:javascript
复制
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{
    //code from stackoverflow question
}

但这不起作用。然后我在另一个函数中添加了相同的代码,并从shouldChangeTextInRange调用它作为选择器,它成功了!

工作代码:

代码语言:javascript
复制
- (void)setCursorToCorrectPosition
{
    //code from stackoverflow question
}
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{
    [self performSelector:@selector(setCursorToCorrectPosition) withObject:nil afterDelay:0.01];
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26596660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档