首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >UITextView双击以进行编辑

UITextView双击以进行编辑
EN

Stack Overflow用户
提问于 2013-07-13 23:53:53
回答 3查看 4.1K关注 0票数 1

所以我有一个UITextView,我用它来制作一个可移动的、可编辑的标签(我之前在So上的搜索显示这显然是最好的选择)。我需要让用户双击以启用编辑,并将其设置为第一响应者。我找不到这样做的方法,我所有的其他搜索结果要么是过时的答案,要么是模糊的答案。我试过的似乎都不管用。我尝试过使用UITextViewDelegate让它开始编辑,而不是使用textViewDidChangeSelection:选择文本,但在您更改当前选择之前,它不起作用。我还尝试使用自定义UITapGestureRecognizer,如下所示:

代码语言:javascript
运行
复制
UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(doubleTap:)];
[doubleTap setNumberOfTapsRequired:2];
[doubleTap setNumberOfTouchesRequired:1];
[newLabel addGestureRecognizer:doubleTap];

-(void)doubleTap:(UITapGestureRecognizer *)sender
{
    NSLog(@"Double tap detected");
    NSLog(@"Sender view of class %@", [[sender view] class]);
    UITextView *tappedView = (UITextView *)[sender view];
    [tappedView setEditable:YES];
    [tappedView becomeFirstResponder];
//    [tappedView setEditable:NO];
}

永远不会调用双击手势。我不知道为什么。奇怪的是,在这种情况下,它也不选择文本。它似乎只是打破了双击的手势。有没有办法摆脱标准的双击选择手势,或者修改它?我应该继承UITextView的子类吗?如果是的话,我应该改变什么?

EN

Stack Overflow用户

发布于 2013-07-14 00:53:27

您应该将手势识别器的目标设置为文本字段。

代码语言:javascript
运行
复制
UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer alloc] initWithTarget:textField action:@selector(doubleTap:)];
票数 -2
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17631790

复制
相关文章

相似问题

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