В представлении таблицы Как добавить еще одну пользовательскую ячейку в расширенную ячейку в ios?

Привет, я работал над расширением ячейки в течение последних нескольких дней из-за какого-то предложения в Интернете, я нашел код для расширения пользовательской ячейки. Теперь мой вопрос: я использую пользовательскую ячейку здесь, поэтому после расширения ячейки я хочу добавить еще одну пользовательскую ячейку в расширенную пользовательскую ячейку. Так любой может помочь мне сделать это??? заранее спасибо

@interface MyHomeView ()
{
    NSIndexPath *selectedindexpath;

}
@end


-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    selectedindexpath=indexPath;

}

Вот как я увеличиваю высоту таблицы

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{

    if(selectedindexpath!=nil &&[selectedindexpath compare:indexPath]==NSOrderedSame)
    {

               return 140;
    }


    return 52;

}

person Vijay    schedule 16.08.2013    source источник
comment
Разве это не тривиальный вопрос о том, чтобы просто повторить то, что вы сделали раньше, поскольку вы уже поняли это правильно?   -  person geekchic    schedule 16.08.2013
comment
почему вы хотите добавить ячейку в настраиваемую ячейку, вместо этого добавьте представление, которое точно похоже на ячейку таблицы или не уверено (добавить представление таблицы)   -  person Shankar BS    schedule 16.08.2013
comment
@Shan, я хочу создать подменю в виде таблицы, поэтому только   -  person Vijay    schedule 16.08.2013


Ответы (2)


Вот пример кода Apple Пример кода для подменю

В этом примере кода показано, как создать подменю с помощью UITableView. Основная идея заключается в том, что пункт меню будет разделом таблицы, а пункт подменю будет строкой соответствующего раздела.

person Iducool    schedule 16.08.2013

Для этого подменю обратитесь к тому, что @Iducool опубликовал ответ. На ваш вопрос -> «В представлении таблицы Как добавить еще одну пользовательскую ячейку в расширенную ячейку в ios?» для этого вам лучше добавить еще один UITableView в расширенную ячейку, чтобы вы могли легко управлять ими. Следующий пример дает некоторую идею поместить UITableView в пользовательскую ячейку UITableView

   //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


Надеюсь это поможет :)

person Shankar BS    schedule 16.08.2013
comment
Хорошо, я проверю это и скажу тебе @shan\ - person Vijay; 16.08.2013
comment
Я хочу добавить разное количество подменю в каждое меню, например подменю menu1->3, меню2->подменю 4, а также снова в подменю1-> хочу добавить подменю. поэтому я должен снова повторить этот процесс, так ли это????? - person Vijay; 16.08.2013
comment
можно ссылку?? - person Vijay; 16.08.2013
comment