#define KSCREEN_WIDTH [UIScreen mainScreen].bounds.size.width
#define KSCREEN_HEIGHT [UIScreen mainScreen].bounds.size.height
@interface ViewController ()
{
? ? NSArray*arr;
}
// 定義左側的表格
@property (nonatomic,strong) UITableView *leftTableView;
// 定義左側的表格
@property (nonatomic,strong) UITableView *rightTableView;
@end
@implementation ViewController
- (void)viewDidLoad {
? ? [super viewDidLoad];
? ? arr = @[@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"10",@"11",@"12",@"13",@"14",@"15",@"16",@"17",@"18"];
? ? [self.view addSubview:self.leftTableView];
? ? [self.view addSubview:self.rightTableView];
//? ? [UIScreen mainScreen].bounds.size.width
? ? // Do any additional setup after loading the view, typically from a nib.
}
-(UITableView*)leftTableView
{
? ? if (!_leftTableView)
? ? {
? ? ? ? _leftTableView = [[UITableView alloc]initWithFrame:CGRectMake(0, 0,KSCREEN_WIDTH *0.3, KSCREEN_HEIGHT) style:UITableViewStylePlain];
? ? ? ? _leftTableView.delegate = self;
? ? ? ? _leftTableView.dataSource = self;
? ? }
? ? return _leftTableView;
}
-(UITableView*)rightTableView
{
? ? if (!_rightTableView)
? ? {
? ? ? ? _rightTableView = [[UITableView alloc]initWithFrame:CGRectMake(KSCREEN_WIDTH*0.3, 0, KSCREEN_WIDTH*0.7, KSCREEN_HEIGHT) style:UITableViewStyleGrouped];
? ? ? ? _rightTableView.delegate = self;
? ? ? ? _rightTableView.dataSource = self;
? ? }
? ? return _rightTableView;
}
-(NSInteger)numberOfSectionsInTableView:(UITableView*)tableView
{
? ? if(tableView ==_rightTableView)
? ? {
? ? ? ? returnarr.count;
? ? }
? ? else
? ? {
? ? ? ? return1;
? ? }
}
-(NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section
{
? ? if(tableView ==_leftTableView)
? ? {
? ? ? ? returnarr.count;
? ? }
? ? else
? ? {
? ? ? ? return5;
? ? }
}
-(UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath
{
? ? staticNSString*identifier =@"cell";
? ? UITableViewCell*cell = [tableViewdequeueReusableCellWithIdentifier:identifier];
? ? if(!cell)
? ? {
? ? ? ? cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier];
? ? }
? ? if(tableView ==_leftTableView)
? ? {
? ? ? ? cell.textLabel.text=arr[indexPath.row];
? ? }
? ? else
? ? {
? ? ? ? cell.textLabel.text= [NSStringstringWithFormat:@"第%ld組 第%ld行",indexPath.section+1,indexPath.row+1];
? ? }
? ? returncell;
}
-(NSString*)tableView:(UITableView*)tableView titleForHeaderInSection:(NSInteger)section
{
? ? if(tableView ==self.rightTableView)
? ? {
? ? ? ? returnarr[section];
? ? }
? ? else
? ? {
? ? ? ? returnnil;
? ? }
}
//-(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
//{
//? ? return 10;
//}
//?
// 點擊單元格的方法
-(void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath
{
? ? if(tableView ==self.leftTableView)
? ? {
? ? ? ? // 獲取點擊單元格的下標 (下標索引類)
? ? ? ? NSIndexPath*moveToPath = [NSIndexPathindexPathForRow:0inSection:indexPath.row];
? ? ? ? [self.rightTableView selectRowAtIndexPath:moveToPath animated:YES scrollPosition:UITableViewScrollPositionTop];
? ? }
}
// 只要滾動就調用
-(void)scrollViewDidScroll:(UIScrollView*)scrollView
{
? ? if(scrollView ==self.leftTableView)
? ? {
? ? ? ? return;
? ? }
? ? else
? ? {
? ? ? ? // 取出顯示在視圖最靠上的cell的indexPath
? ? ? ? NSIndexPath *topHeaderIndex = [[self.rightTableView indexPathsForVisibleRows]firstObject];
? ? ? ? // 獲取左側表格移動的indexPath
? ? ? ? NSIndexPath*moveIndex = [NSIndexPathindexPathForRow:topHeaderIndex.sectioninSection:0];
? ? ? ? [self.leftTableView selectRowAtIndexPath:moveIndex animated:YES scrollPosition:UITableViewScrollPositionTop];
? ? }
}
- (void)didReceiveMemoryWarning {
? ? [super didReceiveMemoryWarning];
? ? // Dispose of any resources that can be recreated.
}
雙表連動
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。