0

私はUITableView2つのセクションを持っています。私の最初のセクションでは、5 行あります。2 番目のセクションには 2 つの行があります。追加ボタンをクリックすると、このテーブル ビューを何度も複製する必要があります。どうやってやるの?

-(IBAction)addDetails:(id)sender
{

    NSLog(@"value of s is %d,%d",s,210+100*s);

    tvc = [[UITableViewController alloc] initWithStyle:UITableViewStyleGrouped];
    tvc.tableView.frame = CGRectMake(20,200+250*s,280,280);
    //CGRect rect = CGRectMake(cell.bounds.origin.x+10, cell.bounds.origin.y+10,50,30);   
    [tvc.tableView setSectionFooterHeight:3.0];
    [tvc.tableView setSectionHeaderHeight:3.0];

    [tvc.tableView setShowsVerticalScrollIndicator:YES];
    // [tvc.tableView setBackgroundColor:[UIColor  colorWithRed:67.0/255.0 green:185.0/255.0 blue:209.0/255.0 alpha:0.5]];
    [tvc.tableView setRowHeight:30];
    tvc.tableView.backgroundView = nil;
    tvc.tableView.backgroundColor = [UIColor clearColor];
    [tvc.tableView setSeparatorStyle:UITableViewCellSelectionStyleGray];
    tvc.tableView.delegate = self;
    tvc.tableView.dataSource = self;
    [self.view addSubview:tvc.tableView];
   s++;

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

      if(section == DETAIL_SECTION)
          return 5;
      else if(section == CALENDER_SECTION){
          return 2;
      }


}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
}

addDetails関数が再度呼び出されると、同じフレーム内で異なるデータを含む同じテーブル構造が必要になります。フレームが繰り返されます。この問題を解決するのを手伝ってください

4

1 に答える 1

0

追加ボタンをクリックすると、新しいUITableViewインスタンスが作成され、サブビューとして既存のビューに追加されます。必要に応じて配置し、サイズを調整します。そのデリゲートとデータ ソースを元のデリゲートとデータ ソースと同じに設定します。このように、同じロジックを使用して、同じデリゲート/データソース メソッドが各テーブルで動作します。元のテーブルをリロードするときはいつでも、すべての「レプリケートされた」テーブルを必ずリロードしてください。

于 2013-02-08T14:47:21.593 に答える