tableview旋转90度不能对齐

来源:互联网 发布:微信小程序读写数据库 编辑:程序博客网 时间:2024/06/05 14:21
首先,tableView是竖向的,我们把它旋转-90度
1
_tableView.transform = CGAffineTransformMakeRotation(- M_PI / 2);//旋转-90度

接着,把tableViewCell旋转+90度,千万别弄错了,不然你的cell会倒过来

1
cell.transform = CGAffineTransformMakeRotation(M_PI / 2);

这样基本上就可以了,在位置上做下适当的调整即可。


但是有时候会遇到左边或者右边不对齐的情况,距离大概是一个导航栏的高度。纠结了很久,尝试了各种办法,虽然解决了,但是效果都不是很好,能看到很明显的卡顿现象,不过最后还是找到了完美的解决方案。


直接上代码

    //这三行代码是为了解决,tableview 旋转90度之后无法左对齐的,具体原因还在寻找。
    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 100, 100, 100)];
    label.backgroundColor = [UIColor clearColor];
    [self.view addSubview:label];
    
    [self setTestData];
    myTabelView=[[UITableView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_HEIGHT, SCREEN_WIDTH)];
    myTabelView.delegate=self;
    myTabelView.dataSource=self;
    [myTabelView registerClass:[MarchTableViewCell class] forCellReuseIdentifier:@"MarchTableViewCell"];
    myTabelView.separatorStyle=UITableViewCellSeparatorStyleNone;
    myTabelView.backgroundColor=[UIColor clearColor];
    myTabelView.showsVerticalScrollIndicator=NO;
    myTabelView.pagingEnabled=YES;
    myTabelView.transform=CGAffineTransformMakeRotation(-M_PI/2);
    myTabelView.center= CGPointMake(SCREEN_WIDTH / 2, SCREEN_HEIGHT / 2);
    [self.view addSubview:myTabelView];

 其实很简单,就是在创建tableview之前先加一个view,然后在创建tableview就可以了,但是具体造成这个bug的原因我还没找到,有找到的可以评论留言。

0 0
原创粉丝点击