就像CSS overflow: none;
一样,我如何隐藏UITableViewCell
的边界外部分?并且只有在选中时才会在单元格中显示某些组件?
我在想隐藏&使用UITableViewDelegate
方法显示元素,但我无法很好地解决这些问题。我使用了以下内容:
NSIndexPath *selected_index;
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
selected_index = indexPath;
[cell.web_view setHidden:NO];
[tableView beginUpdates];
[tableView endUpdates];
}
- (CGFloat)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section) {
if(selected_index != nil && selected_index.row == indexPath.row) {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"TestCell"];
[cell.web_view setHidden:NO];
return 250;
}
[cell.web_view setHidden:YES];
return 74;
}
其中cell.web_view
是UIWebView
,其高度(200)大于表格单元格(74)。但是这些代码并没有使网络视图显示出来并且&隐藏得当。
我还能做什么?
答案 0 :(得分:1)
overflow: none
的最接近代码是[cell setClipsToBounds:YES];
要点击时隐藏和显示内容,您应该有一些变量
BOOL shouldShowMyWebViews;
,并在tableView:didSelectRowAtIndexPath:
中切换状态,在cellForRowAtIndexPath:
中,您可以在返回单元格之前显示或隐藏元素。