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

在一个scrollview中横向有多个tableview,点击状态栏,tableview要返回到顶部
要将所有scrollview 以及tableview 的scrollToTop设置为NO。显示的tableview的scrollToTop设置为TRUE。

@property(nonatomic,strong) NSMutableArray *tdoclist;

//设置一个数组,存储tableview

self.tdoclist=[NSMutableArray arrayWithCapacity:10];
for (int i=0; i<[self.category count]+1; i++) {
[[[CommenData alloc]init] setCategoryIndex:[self getCategoryIndex:i]];
if (i==0) {
self.doctable=[self.storyboard instantiateViewControllerWithIdentifier:@"docview"];
self.doctable.view.frame=CGRectMake(r.size.width*i, 0.0, r.size.width, r.size.height-40);
[self addChildViewController:self.doctable];
self.doctable.tableView.scrollsToTop=YES;
[self.tdoclist addObject:self.doctable];
[self.tableScroll addSubview:self.doctable.view];
}else{
self.tdoctable=[self.storyboard instantiateViewControllerWithIdentifier:@"tdocview"];
self.tdoctable.view.frame=CGRectMake(r.size.width*i, 0.0, r.size.width, r.size.height-40);
[self addChildViewController:self.tdoctable];
self.tdoctable.tableView.scrollsToTop=NO;
[self.tdoclist addObject:self.tdoctable];
[self.tableScroll addSubview:self.tdoctable.view];
}
}

//左右滑动页面切换tableview时切换 tableview的scrollToTop属性

-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
    //加载之后的一页
    if (scrollView==self.tableScroll) {
                CGFloat pageWidth=scrollView.frame.size.width;
        int page=floor((scrollView.contentOffset.x-pageWidth/2)/pageWidth)+1;
        if (page!=indexPage) {
            //可以继续滚动
            if (indexPage<[self.category count]+1) {
                indexPage=page;
                [self.scrollnavi setSelectedIndex:indexPage];
                for (int i=0; i<self.tdoclist.count; i++) {
                    TDocTableViewController *tdocs = self.tdoclist[i] ;
                    if (i==indexPage) {
                        tdocs.tableView.scrollsToTop=YES;
                    }else{
                        tdocs.tableView.scrollsToTop=NO;
                    }
                }
                //若直接用self.tdoc 只会刷新最后一个页面
                 TDocTableViewController *tdoc = self.tdoclist[indexPage] ;
                [tdoc refreshData];
                
            }
            
        }

}

}

时间: 05-28

ios设置点击状态栏返回到顶部的相关文章

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点击状态栏返回顶部问题。

在适配点击状态栏返回顶部的时候,有一个viewcontroller里面有一个UITableView和一个UITextView,UITableView的cell里面没有UIScrollView和UITableView,点击状态栏没有返回顶部,后来想了很久,才想起UITextView是可以滑动的,它是继承于UIScrollView<UITextInput>的,需要将UITextView 的scrollsToTop设置为NO.

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

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

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

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 del

自定义点击状态栏返回

点击屏幕最上方状态栏(status)时,如果当前是tableview或者是可以滚动的控件,就可以滚动到最上方的位置; #import "LZPStatuesClickWindow.h" //定义一个全局变量 //整个程序的生命周期都存在; UIWindow * _statueWindow; @interface LZPStatuesClickWindow () @end @implementation LZPStatuesClickWindow +(void)show{ //需要在in

关于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 点击状态栏回到顶部

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

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

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