IOS中scrollsToTop问题小结

scrollsToTop小结:

UIScrollView是用来展示滚动的一个类。他有UITableView、UITextView等子类。

scrollsToTop是UIScrollView的一个属性,主要用于点击设备的状态栏时,是scrollsToTop == YES的控件滚动返回至顶部。

每一个默认的UIScrollView的实例,他的scrollsToTop属性默认为YES,所以要实现某一UIScrollView的实例点击设备状态栏返回顶部,则需要关闭其他的UIScrollView的实例的scrollsToTop属性为NO。很好理解:若多个scrollView响应返回顶部的事件,系统就不知道到底要将那个scrollView返回顶部了,因此也就不做任何操作了。。。

举个栗子:

只有当一个UIViewController控制器有一个scrollview 并把这个属性设置为yes,

其他的scrollview.scrollsToTop = NO 这样才会响应这个事件,原理很简单,如果有3个scrollview,系统根本不知道你需要哪个滚动到最上面。
        比如一个UIViewController中有三个UIView视图,分别为  _pushList,  _photoList,  _starList,且每个视图中都有一个UITableView,设置如下:
    
        _pushList.table.scrollsToTop = YES;

        _photoList.table.scrollsToTop = NO;

        _starList.table.scrollsToTop = NO;

明白了吧?需要注意的是UIWebView中含有子视图UIWebViewScrollView,它也是UIScrollView的子类,一开始没有意识到这一点,导致一直实现不了点击状态栏返回顶部,将UIWebViewScrollView的scrollsToTop设为NO,正常了。

你可能感兴趣的:(IOS中scrollsToTop问题小结)