UITableview 水平滚动

我分析APP,发现居然使用的是UITableview水平滚动,而不是正常认为的UICollectionView.

简要说明:

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; // 返回的是宽度

}

效果图:


UITableview 水平滚动_第1张图片

代码如下:

#import"ViewController.h"

@interfaceViewController()

@property(weak,nonatomic)IBOutletUITableView*tableView;

@property(nonatomic,strong)NSArray*tableDataArray;

@end

@implementationViewController

staticNSString*MyCellID =@"thisIsMyCellId";

- (void)viewDidLoad {

[superviewDidLoad];

// Do any additional setup after loading the view.

self.view.backgroundColor= [UIColorwhiteColor];

self.tableDataArray=@[[UIColorredColor], [UIColoryellowColor], [UIColorblueColor]];

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.tableViewregisterClass:[UITableViewCellclass]forCellReuseIdentifier:MyCellID];

_tableView.delegate=self;

_tableView.dataSource=self;

}

- (NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section

{

returnself.tableDataArray.count;

}

- (CGFloat)tableView:(UITableView*)tableView heightForRowAtIndexPath:(NSIndexPath*)indexPath

{

returntableView.frame.size.height;

}

- (UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath

{

UITableViewCell*cell = [self.tableViewdequeueReusableCellWithIdentifier:MyCellIDforIndexPath:indexPath];

cell.contentView.transform=CGAffineTransformMakeRotation(M_PI_2);

cell.selectionStyle=UITableViewCellSelectionStyleNone;

UIColor*color = [self.tableDataArrayobjectAtIndex: indexPath.row];

[cell.contentViewsetBackgroundColor: color];

returncell;

}

@end

你可能感兴趣的:(UITableview 水平滚动)