我有一个通常有效的搜索栏.当我在iPhone上测试时出现问题,自动更正开始了.我设置了搜索栏,如果查询栏中的文本长度> 4,则会开始将内容放入searchResults数组中.如果有来自自动更正的建议,我忽略它并从数组中选择一些东西,应用程序崩溃了.我将错误追溯到这样一个事实,即在行选择之前选择了自动更正的字(但都完成了),因此我认为我正在访问的searchResults数组不再有效.
例如,我将"demp"放入搜索栏.自动更正建议"演示".同时,搜索返回一堆带有"dempster"的结果.我选择第一个.当我这样做时,搜索在"demo"下重新搜索并清除原始数组(请记住,我在服务器上查找搜索,因此数组没有重新填充).然后didSelectRowAtIndexRow方法触发,数组中没有任何内容,它崩溃了.
有什么想法吗?提前致谢.
在以前的iOS版本中,我UITextView
将使用滚动到底部
[displayText scrollRangeToVisible:NSMakeRange(0,[displayText.text length])];
Run Code Online (Sandbox Code Playgroud)
要么
CGFloat topCorrect = displayText.contentSize.height -[displayText bounds].size.height;
topCorrect = (topCorrect<0.0?0.0:topCorrect);
displayText.contentOffset = (CGPoint){.x=0, .y=topCorrect};
Run Code Online (Sandbox Code Playgroud)
但是前者现在会产生奇怪的效果,即从长文本的顶部开始,并在每次向视图添加文本时将滚动设置为动画.当我添加文本时,有没有办法弹出文本的底部?