你好,歡迎來到IOS教程網

 Ios教程網 >> IOS使用技巧 >> IOS7技巧 >> iOStableview中再嵌套一個tableview等

iOStableview中再嵌套一個tableview等

編輯:IOS7技巧
iOStableview中再嵌套一個tableview的方法相當的簡單我們下面就一起來看看關於iOStableview中再嵌套一個tableview的例子.

在開發中,我們經常會遇到一種情況,就是需要在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中去,更多的用法,還要考自己創意了。

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved