zoukankan      html  css  js  c++  java
  • 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];
                    
                }
                
            }

        }

    }
  • 相关阅读:
    测试篇 尝了一下net5.0桌面开发
    日志篇 vs的文本替换,剔除引号保留数字 将vs2019更新之后无法用ctrl+d
    测试篇 使用 nuget.exe CLI 创建 nuget 包
    日志篇 博客园的下方的女孩透明的,带点击声音的
    测试篇 c#文件类型关联启动程序
    数学篇 求两条直线的交点,说明过程.
    日志篇 原生git笔记
    测试篇 winform Anchor 怎么临时取消关联,窗口边界和控件关联
    cad.net dll动态加载,插件式架构,在dll查找引用了的dll,查找dll依赖,dll热插拔,加载dll运行出错.
    cad.net 图元反应器,图元事件,要加在提交数据库之后哟
  • 原文地址:https://www.cnblogs.com/qiulilin/p/4541223.html
Copyright © 2011-2022 走看看