UIScrollView setContentOffset:(0,0)更改视图?

时间:2013-10-11 06:09:50

标签: ios objective-c uiview ios7 uikeyboard

我正在尝试移动我的UIScrollView,以便在显示键盘时为键盘让路。

滚动视图移动太多是多么奇怪。我注意到,如果我甚至只是将scrollview的内容偏移设置为(0,0),它仍会将视图向下移动。有什么奇怪的,在我设置之前,scrollview的contentOffset是0,0! Whattt!

- (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会产生奇怪的次要后果吗?

1 个答案:

答案 0 :(得分:0)

试试这个:

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

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