UITableView 或 UIScrollView 点击状态栏列表回到顶部

整理来自互联网~

这是tableView继承的scrollView的一个属性 scrollsToTop。

官方说明是这样的:

// 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.

想要实现此功能需要满足以下条件:

1.屏幕中只有一个scrollView或tableView。

2.它的scrollsToTop属性设置为YES,默认为YES。

想要禁用掉此功能将scrollsToTop属性设置为NO即可。

@近日一个朋友问起,一个ViewController下,放了多个tableView时,点击状态栏不能回到顶部,起初以为是他把scrollsToTop设置为NO,细看之下才发现不是,原来

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.

@说的是:iOS 下 UITableView/UIScrollView 有个特性:点击状态栏回到顶部。如果当前 view 下有多个 scrollView,或者多个 tableView 嵌套,点击回到顶部就无效,因为系统不知道该响应哪个,索性就全部禁用.

@解决办法:当前显示哪个tableView,哪个的scrollsToTop就设置为YES,其余的设置为NO;

时间: 2024-10-27 13:25:22

UITableView 或 UIScrollView 点击状态栏列表回到顶部的相关文章

关于tableView点击状态栏列表回到顶部的说明

怎么验证是否有开发经验? 这是tableView继承的scrollView的一个属性   scrollsToTop. 官方说明是这样的: // 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, i

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-自定义点击状态栏滚回顶部

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

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

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

JQuery - 点击,滚动回到顶部 / 底部刷新回到顶部

if ($(document).scrollTop() != 0) { //刷新之后,回到顶部 $('body,html').animate({ scrollTop: 0 }, 500); }

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`, an

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

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

重复点击主界面(TabBar)按钮刷新界面--点击状态栏回到顶部

1.监听按钮点击 2.判断是否是点击的同一个按钮(记录上次点击的按钮) 3.当重复点击相同按钮时,需要获取当前按钮对应控制器刷新界面 3.1 判断是否重复点击按钮,代码写在哪里? 点击标题按钮,属于精华控制器的事情,所以找到精华控制器.写在点击按钮方法里面 3.2怎么拿到按钮对应的控制器? 通过当前按钮的tag值,从精华控制器的子控制器数组中去 3.3怎么让对应的控制器刷新界面? 在对应的控制器里面提供刷新方法,这样每个控制器都要写,太麻烦 之前我们抽取了父类,只需要在父类中提供一个刷新界面方法

iOS 点击状态栏回到顶部

@property(nonatomic) BOOL scrollsToTop; // default is YES. UIScrollView 的scrollsToTop默认为YES,当页面里仅一个UIScrollView的时候 ,不需要做任何操作,点击状态栏就可以回到顶部 当页面上有多个UIScrollView时,此时点击状态栏 不会回到顶部 只需要把需要回到顶部的UIScrollView的scrollsToTop设置为YES,其余的设置为scrollsToTop=NO即可