小编Jas*_*son的帖子

UITapGestureRecognizer中断了UITableView didSelectRowAtIndexPath

我已经编写了自己的函数来在键盘出现时向上滚动文本字段.为了通过点击文本字段来关闭键盘,我创建了一个UITapGestureRecognizer在点击时关注文本字段上的第一响应者.

现在,我还为UITableView文本字段创建了一个自动完成功能,在文本字段正下方创建一个自动填充,并在用户输入文本时用项目填充它.

但是,当选择自动完成表中的一个条目时,didSelectRowAtIndexPath不会被调用.相反,似乎轻敲手势识别器正在被调用并且刚刚辞职第一响应者.

我猜是有一些方法可以告诉轻敲手势识别器继续将点击消息传递到下方UITableView,但我无法弄清楚它是什么.任何帮助将非常感激.

uitableview ios uitapgesturerecognizer

197
推荐指数
11
解决办法
7万
查看次数

将UITextView光标位置设置为文本结尾

我整个上午都在寻找解决方案,但尚未找到有效的方法.

我有一个文本视图,其中包含一些我不希望用户能够修改的现有固定文本.在这种情况下,我的每个文本视图都以"1","2"等开头.这个想法是他们输入的文本将被编号为我稍后要做的事情.

我不希望用户能够删除此文本(它本质上是"永久的").我也不想让他们在这个前文本的中间开始添加文本.

为了解决这个问题,我做了:

-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text 
{
    if (range.location < 3) return NO;

    return YES;
}
Run Code Online (Sandbox Code Playgroud)

这很好用,除非用户触摸视图中"1.","2"等部分的任何地方,它会将光标设置在那里,这会阻止用户因为范围位置而输入文本校验.在这种情况下我想要做的是将光标(可能在textViewDidBeginEditing中)设置为视图中文本的末尾.但是,无论我使用的selectedRange是什么组合,我都无法让darn游标移动到最后.任何帮助将不胜感激.

uitextview ios

7
推荐指数
3
解决办法
2万
查看次数