直接上代码:
@interface FirstViewController ()
@end
static NSString *MyCellID = @"thisIsMyCellId";
@implementation FirstViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
self.view.backgroundColor = [UIColor whiteColor];
self.tableDataArray = @[[UIColor redColor], [UIColor yellowColor], [UIColor blueColor]];
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
self.tableView.scrollsToTop = NO;
self.tableView.transform = CGAffineTransformMakeRotation(-M_PI_2);
self.tableView.showsVerticalScrollIndicator = NO;
self.tableView.pagingEnabled = YES;
self.tableView.bounces = NO;
[self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:MyCellID];
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return self.tableDataArray.count;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return tableView.frame.size.width;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:MyCellID forIndexPath:indexPath];
cell.contentView.transform = CGAffineTransformMakeRotation(M_PI_2);
cell.selectionStyle = UITableViewCellSelectionStyleNone;
UIColor *color = [self.tableDataArray objectAtIndex: indexPath.row];
[cell.contentView setBackgroundColor: color];
return cell;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
简要说明:
1、先将tableview逆时针旋转90度: self.tableView.transform = CGAffineTransformMakeRotation(-M_PI_2);
2、再将UITableViewCell顺时针旋转90度: cell.contentView.transform = CGAffineTransformMakeRotation(M_PI_2);
3、另外需要注意的是
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return tableView.frame.size.width; // 返回的是宽度
}