我有两个UITableViews:tableviews1和tableview2。
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];
}
答案 0 :(得分:1)
出于您提到的目的(在您的评论中),您可以动态调整UITableViewCell
TableView1
的高度,同时用户触摸了tableviewcell。再次触摸该单元格,您可以按正常尺寸调整它。
我希望你明白我的观点。
修改强>
您必须检查要在UITableView
的常用委托方法中执行操作的tableView。
说...你有两个表格视图T1和T2。
然后在下面的方法中,你必须首先检查,为哪个tableview(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;
}
是否清楚?