ios – UIScrollView contentOffset在另一个视图推送后更改

我在Interface Builder中有一个UIViewController,我在UIView中添加了一个UIScrollView.它的contentOffset属性等于0.0,但是当我将UIScrollView滚动到最底层并推送另一个视图时,contentOffset会发生变化.

NSLog给了我以下值:

//View just loaded
2013-09-09 16:19:27.455 my_app[24588:907] Scroll View content offset is 0.000000

//We came back from another view
2013-09-09 16:19:30.957 my_app[24588:907] Scroll View content offset is 108.000000

这种行为的原因是什么?我刚刚在IB中添加了一个UIScrollView,并且根本没有在代码中做任何事情.

scrollView的contentHeight大于self.view.height. scrollView的框架保持不变.

解决方法

请参阅 my answer到类似的问题.

您需要在viewWillAppear:和viewWillDisappear:中相应地设置scrollview的contentOffset.

另外,看到这个:

> This answer至问题UIScrollView’s origin changes after popping back to the UIViewController.
>这个相关的问题,UIScrollview Autolayout Issue.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...