UIScrollView setContentOffset:(0,0) 改变视图?
Posted
技术标签:
【中文标题】UIScrollView setContentOffset:(0,0) 改变视图?【英文标题】:UIScrollView setContentOffset:(0,0) changes view? 【发布时间】:2013-10-11 06:09:49 【问题描述】:我正在尝试移动我的 UIScrollView,以便在显示键盘时为键盘让路。
奇怪的是滚动视图移动太多。我注意到,即使我只是将滚动视图的内容偏移量设置为 (0,0),它仍然会向下移动视图。奇怪的是,滚动视图的 contentOffset 在我设置之前是 0,0 !什么!
- (void)keyboardWasShown:(NSNotification*)notification
NSLog(@"%f %f", scrollView.contentOffset.x, scrollView.contentOffset.x);
[scrollView setContentOffset:CGPointMake(0.0, 0.0) animated:YES];
这将打印 (0,0) 但如果我评论第二行,则视图不会移动。 setContentOffset 是否有奇怪的次要后果?
【问题讨论】:
它调用scrollViewDidScroll,所以也许你正在那里做点什么。 @Odrakir nope 没有实现任何其他方法 然后发布您创建滚动视图并设置其内容的代码。因为那条线本身就有效。 【参考方案1】:试试这个:
- (void)keyboardWasShown:(NSNotification*)notification
CGFloat ay = 150;
[scrollView setContentOffset:CGPointMake(0.0, textField.frame.origin.y-ay) animated:YES];
在此处根据您的要求更改 ay 的值。取决于您希望滚动视图移动多少。
【讨论】:
你真的没有回答我的问题,当然如果我设置正确它会抵消移动。以上是关于UIScrollView setContentOffset:(0,0) 改变视图?的主要内容,如果未能解决你的问题,请参考以下文章
UIScrollView里面的UIScrollView:滚动
问题:UIScrollview 弹跳使父 UIScrollview 弹跳
UIScrollView 嵌入其他 UIScrollView