tableview旋转90度不能对齐

首先,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的原因我还没找到,有找到的可以评论留言。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值