嗨,我想为类似论坛的视图实现一个非常长的滚动视图,设计类似于此图像的东西
是否可以使用表格视图来实现这一点(考虑到单元格之间的边界不是很明确,并且某些视图与其他单元格重叠)或者我应该编写一个带有许多子视图的长滚动视图(内存管理?)?谢谢
嗨,我想为类似论坛的视图实现一个非常长的滚动视图,设计类似于此图像的东西
是否可以使用表格视图来实现这一点(考虑到单元格之间的边界不是很明确,并且某些视图与其他单元格重叠)或者我应该编写一个带有许多子视图的长滚动视图(内存管理?)?谢谢
使用UITableView
,如果你在调整单元格大小时子类UITableViewCell
化并使用layoutSubviews
调整子视图的方法会更好。根据其中存在的内容更改单元格大小。
检查以下链接:
一条忠告:偷懒!
如果你想在一个滚动视图中显示很多视图,不要全部加载它们。最佳实践是使用UITableView
. 如果在屏幕上绘制它们之前知道每个单元格的高度,则可以实现此方法
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
在您的 Tableview 数据源中。如果要使用 UIScrollView,请在用户滚动时按需添加子视图。最好的方法是实现委托方法:
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
您可以进行自定义UIView
,因为您可以制作您想要的所有内容,只需将您的自定义视图添加cellForRowAtIndexPath
为
[cell.contentView addSubview:yourcustomview];
代码是
CV = [[CustomView alloc] initWithFrame:CGRectMake(0, 0, 320, heightofviewyouwant)];
CV.delegate = self;
cell.selectionStyle = UITableViewCellAccessoryNone;
[CV setTitle:[[yourarray objectAtIndex:indexPath.row]objectForKey:@"yourkey"]];
CV.backgroundColor = [UIColor whiteColor];
[cell.contentView addSubview:CV];
return cell;