所以我有一个 UITextView 用来制作可移动、可编辑的标签(我之前对 SO 的搜索表明这显然是最好的选择)。我需要让用户双击以启用编辑并将其设置为第一响应者。我找不到这样做的方法,而且我所有的其他搜索都出现了过时的答案或模糊的答案。我尝试过的任何方法似乎都不起作用。我尝试使用UITextViewDelegate
开始编辑,而不是使用 选择文本textViewDidChangeSelection:
,但在您更改当前选择之前它不起作用。我也尝试使用UITapGestureRecognizer
这样的自定义:
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,如果是,我会改变什么?