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

}

效果图:

代码如下:

#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

转载于:https://juejin.im/post/5b963480e51d450e3f6b628d

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值