我有以下代码:
float yOffset = activeTextView.frame.origin.y - keyboardSize.height + 55;
CGPoint scrollPoint = CGPointMake(0.0, yOffset);
[scrollView setContentOffset:scrollPoint animated:YES];
这会动画- (void)keyboardWasShown:(NSNotification *)notification
我试图在隐藏键盘之后将scrollView返回到它的原始位置:
- (void) keyboardWillHide:(NSNotification *)notification {
UIEdgeInsets contentInsets = UIEdgeInsetsZero;
scrollView.contentInset = contentInsets;
scrollView.scrollIndicatorInsets = contentInsets;
}
但它不起作用!
如何将UIScrollView以及整个屏幕返回到原始位置,以便用户在滚动视图动画之前看到他所看到的内容?
答案 0 :(得分:2)
在keyboardWasShown:
方法中,您设置了contentOffset
属性([scrollView setContentOffset:]
相当于scrollView.contentOffset
)。但是,在keyboardWillHide:
中,您正在设置contentInset
,这是完全不同的(实际上,它是滚动视图内容的内部填充量)。尝试
scrollView.contentOffset = CGPointZero; // non-animated by default
或
[scrollView setContentOffset:CGPointZero animated:YES]; // animated
另外,正如NSResponder所提到的那样,请确保调用keyboardWillHide:
方法。