1

tableviews1 と tableview2 の 2 つの UITableViews があります。

tableview2 は、tableview1 の UITableViewCell 内にあります。tableview2 の uitableviewcell をクリックすると、応答しませんが、tableview1 tableviewcell が検出されます。

誰でもこの問題を解決できますか?

これは私が使用しているコードです:

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

    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

 if (tableView == orderFoodDetailTableview) {

    if (cell == nil) {

cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];

cell.selectionStyle = UITableViewCellSelectionStyleNone;

    }
}
    else {


cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];

  [self addUItableViewAsSubView :cell];

        }

  cell.selectionStyle = UITableViewCellSelectionStyleGray;
    }

    return cell;
}



- (void)addUITableViewAsSubView:(UITableViewCell *)cell{

    portionSelected_yVal = [sArray count]*25;
    portionTableview = [[UITableView alloc]initWithFrame:CGRectMake(10, height+53, 140, portionSelected_yVal)];
    portionTableview.delegate = self;
    portionTableview.dataSource = self;
    portionTableview.backgroundColor = [UIColor clearColor];
    portionTableview.hidden = YES;
    portionTableview.layer.borderColor=[UIColor blackColor].CGColor;
    portionTableview.layer.borderWidth=1.0f;
    portionTableview.layer.cornerRadius=2.0f;
    [cell addSubview:portionTableview];
}
4

1 に答える 1

1

(コメントで)言及した目的のために、ユーザーがテーブルビューセルに触れている間UITableViewCellに、の高さを動的に調整できます。TableView1そのセルをもう一度タッチすると、通常のサイズに戻すことができます。

あなたが私の主張を理解していることを願っています。


編集

UITableViewの一般的なデリゲート メソッドでアクションを実行する tableView を確認する必要があります。

たとえば、2 つのテーブルビュー T1 と T2 があるとします。

次に、次のメソッドで、メソッドが呼び出されているテーブルビュー (T1 または T2) を最初に確認する必要があります。

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    if (tableView == T1)
        // Return number of sections for T1;
    else if (tableView == T2) 
        // Return number of sections for T2;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    if (tableView == T1)
        // Return number of rows for T1;
    else if (tableView == T2) 
        // Return number of rows for T2;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    if (tableView == T1)
        // Create and Return cell for T1;
    else if (tableView == T2) 
        // Create and Return cell for T2;
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    if (tableView == T1)
        // Do stuff for T1 related actions;
    else if (tableView == T2) 
        // Do stuff for T2 related actions;
}

クリアですか?

于 2013-03-04T10:25:54.390 に答える