横向TableView

作者: 大熊孩子 | 来源:发表于2016-05-25 15:18 被阅读335次

    前几天在项目中遇到一个需求,实现一个横向的左右滑动翻页进入上一条或下一条详情。
    刚看到的时候便有了几个想法:

    1.pageviewcontroller
    2.scoreView像轮播图一样用三个view奶实现
    3.横向tableview
    

    经过比较之后选择了第三种方式,原因无其他,重用机制,大量数据不会卡顿。

    横向tableview

    先将tableview左旋转90度:

    CGFloat f = (kScreen_Height-kNavBar_Height-kScreen_Width)*0.5;
    self.myTableView = [[UITableView alloc]initWithFrame:CGRectMake(-f, f, kScreen_Height-kNavBar_Height, kScreen_Width) style:UITableViewStylePlain];
    self.myTableView.dataSource = self;
    self.myTableView.delegate = self;
    self.myTableView.transform = CGAffineTransformMakeRotation(-M_PI/2);
    self.myTableView.backgroundColor = kColor_f2f2f2;
    self.myTableView.pagingEnabled = YES;
    self.myTableView.showsVerticalScrollIndicator = NO;
    [self.view addSubview:self.myTableView];
    

    要使其旋转之后能刚好和屏幕一致,则TableView的
    横坐标x为: -(屏幕高度-屏幕宽度)0.5
    纵坐标y为:(屏幕高度-屏幕宽度)
    0.5
    改变tableview的transform

    self.myTableView.transform = CGAffineTransformMakeRotation(-M_PI/2);
    

    这样旋转之后刚好和controller 的view重合。

    旋转cell

    旋转tableview之后还需要将cell右向旋转90度:

    cell.transform = CGAffineTransformMakeRotation(M_PI/2);
    

    这样既可实现一个横向的tableview。

    相关文章

      网友评论

        本文标题:横向TableView

        本文链接:https://www.haomeiwen.com/subject/oodtdttx.html