在开发中,我们经常会遇到一种情况,就是需要在tableView中嵌套tableview或者像CollectionView,代码如下:
@interface ViewController : UIViewController<UITableviewdelegate,uitableviewdatasource>
{
UITableView * rootTable;
UITableView * insertTabelView;
NSMutableArray * dataArray;
}
@end
ViewController.m
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
[self initView];
dataArray= [[NSMutableArray alloc]initWithObjects:@"中",@"梦",@"科",@"技",@"made in china",nil];
self.navigationItem.title = @"TwoTableView";
}
-(void)initView
{
rootTable = [[UITableView alloc]initWithFrame:CGRectMake(0, 65, self.view.frame.size.width, self.view.frame.size.height) style:UITableViewStyleGrouped];
rootTable.delegate = self;
rootTable.dataSource = self;
[self.view addSubview:rootTable];
}
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (tableView == rootTable)
{
if (indexPath.row == 0)
{
return [dataArray count]*44;
}else
{
return 70;
}
}else
{
return 44;
}
}
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
if (tableView == rootTable)
{
return 5;
}else
{
return 1;
}
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if (tableView == rootTable)
{
return 4;
}else
{
return [dataArray count];
}
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell * cell = [[UITableViewCell alloc]init];
if (tableView == rootTable)
{
if (indexPath.row == 0)
{
insertTabelView= [[UITableView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, [dataArray count]*44)];
insertTabelView.delegate = self;
insertTabelView.dataSource = self;
insertTabelView.scrollEnabled = NO;
[cell.contentView addSubview:insertTabelView];
}else
{
cell.textLabel.text = @"rootTableView";
}
return cell;
}else
{
cell.textLabel.text = [dataArray objectAtIndex:indexPath.row];
cell.backgroundColor = [UIColor yellowColor];
return cell;
}
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if (tableView == rootTable)
{
NSLog(@"roottableView");
}else
{
NSLog(@"中");
}
@end
到这里,插入进去的insertTableView就被我们放到第一个tableViewCell中去,更多的用法,还要考自己创意了。
敢达决战官方正版 安卓版v6.7.9
下载敢达决战 安卓版v6.7.9
下载像素火影骨架佐助 (Perseverance Fire Shadow)手机版v1.16
下载要塞英雄 安卓版v33.20.0-39082670-Android
下载梦想城镇vivo最新版本 安卓版v12.0.1
梦想城镇vivo版是这款卡通风模拟经营类手游的渠道服版本,玩
怦然心动的瞬间 安卓版v1.0
怦然心动的瞬间是一款真人向的恋爱互动游戏,在游戏中玩家将扮演
曼尼汉堡店游戏 安卓版v1.0.3
曼尼汉堡店是一款非常好玩的精品恐怖类型冒险游戏,在这款游戏中
现代总统模拟器去广告版 安卓版v1.0.46
现代总统模拟器是一款休闲养成类游戏,可能对于不少的玩家来说都
现代总统模拟器付费完整版 安卓版v1.0.46
现代总统模拟器高级版在商店是需要付费的,相对于普通版本,高级