在iOS 6中,可以使用以下方法滚动到UIScrollView的顶部:
[scrollView setContentOffset:CGPointZero animated:YES];如果在iOS 7中使用带有半透明导航条的代码,则得到的结果在技术上是正确的,但不适合用户使用。滚动视图的顶部将定位到屏幕的原点。

如何将滚动视图的顶部定位到导航栏的底部?我正在寻找一个不是硬编码的解决方案,因为在我的应用程序中,有时状态栏和导航栏可以被隐藏。此外,我想保持半透明的效果,而不是遮掩和做self.edgesForExtendedLayout = UIRectEdgeNone。
发布于 2013-11-15 01:00:50
不要使用硬编码的值,而是使用新的API:
[self.scrollView setContentInset:UIEdgeInsetsMake(self.topLayoutGuide.length, 0, self.bottomLayoutGuide.length, 0)];您正在将滚动视图的内容嵌入设置为顶部和底部布局指南。因此,如果您有一个导航栏,即44分和20分的状态栏,没有状态栏,它将是64点顶部(在纵向)和0点底部。
您应该在viewDidLayoutSubviews中这样做。
发布于 2015-11-20 05:41:49
您必须使用此方法-> setContentOffset:动画:
[_scrollView setContentOffset:CGPointZero animated:YES];发布于 2013-11-15 00:49:16
只需使用-60作为y坐标,或者更好的是,动态获取statusbar和导航栏的高度,因为它们都会改变。
我想请参阅UIApplication的statusBarFrame和statusBarFrame。
https://stackoverflow.com/questions/19991301
复制相似问题