iOS UITableView中点击状态栏无法回滚到顶部

// When the user taps the status bar, the scroll view beneath the touch which is closest to the status bar will be scrolled to top, but only if its `scrollsToTop` property is YES, its delegate does not return NO from `shouldScrollViewScrollToTop`, and it is not already at the top. 
// On iPhone, we execute this gesture only if there‘s one on-screen scroll view with `scrollsToTop` == YES. If more than one is found, none will be scrolled. 
@property(nonatomic) BOOL  scrollsToTop;          // default is YES.

设置这个属性,可以让点击状态栏不回到顶部,但是如果我们需要让他回到顶部,程序又不响应操作,解决方法

刚才上面的官方文档说了,只有当一个主控制器有一个scrollview 并把这个属性设置为yes,其他的scrollview.scrollsToTop = NO 这样才会响应这个事件,原理很简单,如果有2个scrollview,系统根本不知道你需要哪个滚动到最上面.

但是

我的页面上确实只有一个UITableView,当时我就纳闷了。

但是仔细想想可能页面中还有其他的控件包含了scrollview。

scrollview  tableview 、collectionview webView都是含有scrollview 的。

我的页面中就是应用一个UIWebView导致点击顶部状态栏无法正常返回的。

经典案例,第三方图片滚动使用比较多的如:SDCycleScrollView

使用了SDCycleScrollView之后,回到顶部就失效了。

解决方法:

修改源代码,在 UICollectionView *mainView 创始化时,加上:

mainView.scrollsToTop = NO; // 不使用这句话,会导致回到顶部失效
时间: 2024-10-26 12:17:38

iOS UITableView中点击状态栏无法回滚到顶部的相关文章

关于导航自定义视图距离边界问题,点击状态栏TableView不能回滚到顶部问题

一: 默认Navigation的自定义customView,设置为 Left or Right BarButtonItem 的时候会 与屏幕边界有个15像素的距离. 导致自定义视图的上的子视图响应区域有限. 解决方法: //自定义视图 UIBarButtonItem *backBtn = [[UIBarButtonItem alloc] initWithCustomView:backButton]; //间距 UIBarButtonItem *negativeSpacer = [[UIBarBu

ios-自定义点击状态栏滚回顶部

点击状态栏滚回顶部这个功能是系统自带的,只需要设置self.scrollView.scrollsToTop = YES即可, 但是这个属性有一个前提是窗口下必须只有一个可滚动的View才有效果,这时候就需要自定义创建一个窗口 来完成这个功能. 添加窗口 在AppDelegate创建一个新的窗口必须给这个窗口设置一个根控制器,否则会报错,这里可以通过dispatch_after来给添加窗口一个延时就可以不设置根控制器 窗口是有级别的windowLevel,级别越高就越显示在顶部,如果级别一样,那么

IOS系统中点击失效

IOS系统中点击失效 问题 当委托给一个元素添加click事件时,如果事件是委托到 document 或 body 上,并且委托的元素是默认不可点击的(如 div, span 等),此时 click 事件会失效. 例如: //加载更多 $('body').on('click','.showMoreData',function () { }) 问题原因 React attaches event listeners to the document. iOS doesn't fire click ev

Android listview回滚到顶部问题

============问题描述============ Android listview分页加载数据后,总是回滚到顶部,应该怎么防止其回滚到顶部? ============解决方案1============ 在数据获取完设置listview.setSelection(listview.getCount() - 1);刷新的时候数据还没有请求完,把数据变化的地方listview.getCount()打印出来看看有变化么.

iOS UITableView点击按钮滚到顶部

#import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicationDelegate> @property (strong, nonatomic) UIWindow *window; @end #import "AppDelegate.h" #import "RootViewController.h" @interface AppDelegate () @end

iOS开发-点击状态栏scrollView回到顶部失效解决办法

若当前的ViewController中只有一个scrollView,点击状态栏,该scrollView就会滚动到顶部.但当ViewController中有多个scrollView时,就不灵了!这个时候,怎么去兼容呢? UIScrollView有这么一个属性scrollsToTop.按住command,点击scrollsToTop进去你会看到关于这个属性的注解 On iPhone, we execute this gesture only if there's one on-screen scro

ios设置点击状态栏返回到顶部

在一个scrollview中横向有多个tableview,点击状态栏,tableview要返回到顶部要将所有scrollview 以及tableview 的scrollToTop设置为NO.显示的tableview的scrollToTop设置为TRUE. @property(nonatomic,strong) NSMutableArray *tdoclist; //设置一个数组,存储tableview self.tdoclist=[NSMutableArray arrayWithCapacity

点击状态栏让tableview回到顶部最简单的方法

先看官方解释,如图: 官方说一个屏幕中只能允许一个scrollsTop = YES;不然就不能滚回顶部了!! 最简单的方法: 那么就让一个屏幕中只存在一个scrollsTop = YES就可以了, 其他的scrollsTop = NO;那么就可以默认点击状态栏tableview回到顶部! 完毕!!! ************************************************************************************************* 附

iOS Safari 中点击事件失效的解决办法

问题描述 当使用委托给一个元素添加click事件时,如果事件是委托到 document 或 body 上,并且委托的元素是默认不可点击的(如 div, span 等),此时 click 事件会失效. 可以使用下面的代码在 iOS 中进行测试. <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content=&qu