默认情况下,如果文本字段是滚动视图的子项,并且当它位于父滚动视图的框架的外部时被触摸,则滚动视图会向上滚动一点。例如,假设我们有一个框架高度为200的滚动视图,但contentSize的高度为260,并且我们在第220位置放置了一个文本框。现在,我向上滚动并将文本框的一半放置在滚动视图的框架内,让另一半被切断。如果我触摸这个文本框,我注意到在键盘出现之前,scrollview会自动向上滚动几个像素。这是有问题的,因为我已经有了自己的滚动代码,所以当发生这种情况时,它会根据需要滚动两次。有什么办法可以删除这个默认行为吗?当UITextField被移出滚动视图的框架时,如何阻止UIScrollView自动滚动?
5
A
回答
1
听起来好像您的滚动视图正在响应键盘显示而不是被点击的文本字段而移动。看看Apple's Managing the Keyboard documentation;它在滚动视图上有一个有用的部分。
0
类似的问题已经已经在这里找到答案: https://stackoverflow.com/a/5673026/550177
您也可以尝试重置滚动视图的contentOffset当文本框成为第一个响应者。这样实现文本字段委托:
-(void)textFieldDidBeginEditing:(UITextField *)textField
{
[self.scrollView setContentOffset:_scrollView.contentOffset animated:NO];
}
此代码在选择文本字段时删除该自动动画。我已经在模拟器中使用iOS 6.1进行了测试。
相关问题
- 1. UIScrollView框架被自动移动
- 2. 拖动HTML时阻止自动滚动
- 3. 我如何防止滚动被阻止滚动的子格
- 4. 当用户手动滚动时,如何防止自动滚动?
- 5. 如何在不阻止滚动的情况下禁用滚动视图滚动
- 6. 当灯箱出现时阻止滚动
- 7. UIscrollview滚动其他滚动视图
- 8. 滚动滚动视图时自动在滚动视图内滚动地图
- 9. iOS:show segue阻止UITableViewController在UITextField获取焦点时自动滚动
- 10. 当滚动其他滚动视图时滚动视图重置
- 11. 当拖动节标题视图时阻止UITableView滚动
- 12. 滚动时的UIScrollview位移
- 13. 更新的UITextView里面的UIScrollView而滚动,使滚动视图停止滚动
- 14. 当滚动另一个滚动视图时要并行滚动滚动视图
- 15. 每当鼠标滚轮移动时,如何停止自动滚动功能?
- 16. 滚动视图与滚动视图里面,当软键盘出现时,父滚动视图不滚动
- 17. 如何使用滚动条自动滚动滚动视图?
- 18. 自动滚动:如何在滚动视图中自动滚动图像
- 19. 防止子视图在UIScrollView滚动
- 20. Android的滚动视图自动滚动
- 21. 如何在特定区域移动时禁止UIScrollview滚动?
- 22. 当我移动滚动视图时移动的像素数
- 23. 自动滚动框架集
- 24. UIScrollView与UIButtons - 滚动视图不会滚动当按钮开始
- 25. Android:当水平滚动视图停止滚动时检测
- 26. 在UIScrollView中滚动视图
- 27. uiscrollview子视图不滚动
- 28. 当绘制子视图时停止滚动UIScrollView
- 29. 滚动视图中的滚动视图需要防止同时滚动
- 30. 视图滚动时终止