直接上代码:(封装性查,只提供一个思路)
1:创建两个tableview 和 一个scrollview
2: scrollview 控制 左右滑动,两个tableview通过代理实现联动;
3:限制scrollview的bounce并通过代理控制两个tableview边线的显示;
@interface ViewController ()@property (nonatomic,retain)UIScrollView * scrollview;
@property (nonatomic,retain)UITableView * tableview;
@property (nonatomic,retain)UITableView * tableview2;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
_scrollview = [[UIScrollView alloc]initWithFrame:CGRectMake(100, 0, self.view.frame.size.width, self.view.frame.size.height)];
[self.view addSubview:_scrollview];
self.scrollview.bounces = NO;
self.scrollview.backgroundColor = [UIColor greenColor];
self.scrollview.contentSize = CGSizeMake(self.view.frame.size.width*2, self.view.frame.size.height);
_tableview = [[UITableView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width-100, self.view.frame.size.height) style:UITableViewStylePlain];
[self.scrollview addSubview:self.tableview];
_tableview.delegate = self;
_tableview.dataSource = self;
[_tableview registerClass:[UITableViewCell class] forCellReuseIdentifier:@"dddID"];
_tableview.tableFooterView = [[UIView alloc]init];
_tableview2 = [[UITableView alloc]initWithFrame:CGRectMake(0, 0, 100, self.view.frame.size.height) style:UITableViewStylePlain];
[self.view addSubview:self.tableview2];
_tableview2.tableFooterView = [[UIView alloc]init];
[_tableview2 registerClass:[UITableViewCell class] forCellReuseIdentifier:@"dddIDs"];
_tableview2.delegate = self;
_tableview2.dataSource = self;
// Do any additional setup after loading the view, typically from a nib.
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if (scrollView == self.tableview2) {
self.tableview.contentOffset = self.tableview2.contentOffset;
}
else
{
self.tableview2.contentOffset = self.tableview.contentOffset;
}
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (tableView == self.tableview2)
{
UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@"dddIDs" forIndexPath:indexPath];
cell.textLabel.text = @"sdfsdfdsf";
return cell ;
}
else
{
UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@"dddID" forIndexPath:indexPath];
cell.textLabel.text = @"sdfs塌dfdsf";
return cell ;
}
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
if (tableView == self.tableview2)
{
return 6;
}
else
{
return 6;
}
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if (tableView == self.tableview2) {
return 5;
}
else
{
return 5;
}
}
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UILabel * label = [[UILabel alloc]init];
label.text = [NSString stringWithFormat:@"%lu",section];
label.backgroundColor = [UIColor redColor];
return label;
}
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
return 20;
}