【问题标题】:UIScrollView setContentOffset:(0,0) changes view?UIScrollView setContentOffset:(0,0) 改变视图?
【发布时间】: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 没有实现任何其他方法
  • 然后发布您创建滚动视图并设置其内容的代码。因为那条线本身就有效。

标签: ios objective-c uiview ios7 uikeyboard


【解决方案1】:

试试这个:

- (void)keyboardWasShown:(NSNotification*)notification {
CGFloat ay = 150;
[scrollView setContentOffset:CGPointMake(0.0, textField.frame.origin.y-ay) animated:YES];
}

在此处根据您的要求更改 ay 的值。取决于您希望滚动视图移动多少。

【讨论】:

  • 你真的没有回答我的问题,当然如果我设置正确它会抵消移动。
猜你喜欢
  • 2011-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-16
相关资源
最近更新 更多