且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

在表视图中如何在ios中的扩展单元格中添加另一个自定义单元格?

更新时间:2023-10-31 14:28:04

为此子菜单参考@Iducool发布的答案。对于您的问题 - >在表视图中如何在ios中的扩展单元格中添加另一个自定义单元格?
为此你***在扩展单元格中添加另一个UITableView,以便你可以轻松管理它们,下面的例子给出了将UITableView放入Custom UITableView单元格的想法

For this submenus refer what @Iducool posted answer. For your question -> "In Table view How to add another custom cell in expanded cell in ios?" for this you better need to add another UITableView inside the expanded cell so that you can manage them easily following example gives some idea to put UITableView within the Custom UITableView cell

   //in your main Table view 

  #import "ViewController.h"
  #import "CustomCell.h"
  @interface ViewController ()<UITableViewDataSource , UITableViewDelegate>

  @end

  @implementation ViewController

  - (void)viewDidLoad
 {
      [super viewDidLoad];
      // Do any additional setup after loading the view, typically from a nib.
 }

 - (void)didReceiveMemoryWarning
  {
      [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
  }

  - (void)dealloc 
  {
    [_aTV release];
    [super dealloc];
  }


  -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
  {
      return 1;
  }

  -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
    {
      return 3;
    }

  -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
  {
   CustomCell *cell = [self.aTV dequeueReusableCellWithIdentifier:@"Cell"];
   if(cell == nil)
     {
        cell = [[[CustomCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"]autorelease];
     }

   cell.dataAraay = [NSMutableArray arrayWithObjects:@"subMenu->1",@"subMenu->2",@"subMenu->3",@"subMenu->4",@"subMenu->5", nil];
   return  cell;
  }

  -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
  {
     return 150;
  }


   //in your custom tableview cell 
   //  .m file
   #import "CustomCell.h"

   @implementation CustomCell 
   @synthesize dataAraay; //array to hold submenu data

   - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
  {
     self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
     if (self) {
    // Initialization code
     self.frame = CGRectMake(0, 0, 300, 50);
     UITableView *subMenuTableView = [[UITableView alloc]initWithFrame:CGRectZero style:UITableViewStylePlain]; //create tableview a

      subMenuTableView.tag = 100;
      subMenuTableView.delegate = self;
      subMenuTableView.dataSource = self;
      [self addSubview:subMenuTableView]; // add it cell
      [subMenuTableView release]; // for without ARC
   }
    return self;
 }

- (void)setSelected:(BOOL)selected animated:(BOOL)animated
 {
     [super setSelected:selected animated:animated];

      // Configure the view for the selected state
 }

 -(void)layoutSubviews
  {
     [super layoutSubviews];
     UITableView *subMenuTableView =(UITableView *) [self viewWithTag:100];
     subMenuTableView.frame = CGRectMake(0.2, 0.3, self.bounds.size.width-5, self.bounds.size.height-5);//set the frames for tableview

  }

 //manage datasource and  delegate for submenu tableview
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
  {
     return 1;
  }

   -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
   {
       return dataAraay.count;
   }

  -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
  {
      UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cellID"];
     if(cell == nil)
      {
         cell = [[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cellID"]autorelease];
      }
    cell.textLabel.text = [self.dataAraay objectAtIndex:indexPath.row];

    return cell;

 }

@end


希望这会有所帮助:)