2011-08-24 18 views
5

默认情况下,如果文本字段是滚动视图的子项,并且当它位于父滚动视图的框架的外部时被触摸,则滚动视图会向上滚动一点。例如,假设我们有一个框架高度为200的滚动视图,但contentSize的高度为260,并且我们在第220位置放置了一个文本框。现在,我向上滚动并将文本框的一半放置在滚动视图的框架内,让另一半被切断。如果我触摸这个文本框,我注意到在键盘出现之前,scrollview会自动向上滚动几个像素。这是有问题的,因为我已经有了自己的滚动代码,所以当发生这种情况时,它会根据需要滚动两次。有什么办法可以删除这个默认行为吗?当UITextField被移出滚动视图的框架时,如何阻止UIScrollView自动滚动?

回答

0

类似的问题已经已经在这里找到答案: https://stackoverflow.com/a/5673026/550177

您也可以尝试重置滚动视图的contentOffset当文本框成为第一个响应者。这样实现文本字段委托:

-(void)textFieldDidBeginEditing:(UITextField *)textField 
{ 
    [self.scrollView setContentOffset:_scrollView.contentOffset animated:NO]; 
} 

此代码在选择文本字段时删除该自动动画。我已经在模拟器中使用iOS 6.1进行了测试。

相关问题