我的应用程序中有一个UINavigationController. UINavigationBar设置为不透明,所有的滚动视图都不会在条形下面重叠.
在一个视图中,我有一个UITableView. UITableView的框架在我的iPhone 5上是(0 0; 320 504),即高度是568 – 64(导航栏和状态栏的高度).
UITableView的contentInset为(0,0).当表视图首先加载contentOffset为(0,0)时.
这可以.工作辉煌
我在表视图中添加了一个UIRefreshControl.这可以工作几次,但是经过几次拉拔刷新,然后顶部的内容在导航栏下“卡住”.
当这种情况发生时,我检查contentInset,现在(-60,0).
有没有办法通过更改contentInset来停止UIRefreshControl?
解决方法
这可能是为什么UIRefreshControl当前只支持UITableViewController的原因,而不是添加到任何scrollview(在许多情况下你可以摆脱).
刷新控件通过修改scrollview的内容插件来实现其魔力,特别是当它结束刷新时.不幸的是,视图控制器也正在修改滚动视图的内容插入,使其适合半透明的导航和状态栏.乐趣随之而来.这也是iOS 6上的一个问题(或者,在处理相同的问题时,我称之为“好老iOS6”).
最快的解决方案可能是将您的表视图添加为UITableViewController,而不是简单的子视图.我认为UITableViewController在刷新结束时为您管理插件.如果这不行,我有解决办法,但它必须等到我回到办公室.