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