4

嗨,我想为类似论坛的视图实现一个非常长的滚动视图,设计类似于此图像的东西

是否可以使用表格视图来实现这一点(考虑到单元格之间的边界不是很明确,并且某些视图与其他单元格重叠)或者我应该编写一个带有许多子视图的长滚动视图(内存管理?)?谢谢

4

3 回答 3

10

使用UITableView,如果你在调整单元格大小时子类UITableViewCell化并使用layoutSubviews调整子视图的方法会更好。根据其中存在的内容更改单元格大小。

检查以下链接:

于 2013-08-02T08:00:59.780 回答
3

一条忠告:偷懒!
如果你想在一个滚动视图中显示很多视图,不要全部加载它们。最佳实践是使用UITableView. 如果在屏幕上绘制它们之前知道每个单元格的高度,则可以实现此方法

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

在您的 Tableview 数据源中。如果要使用 UIScrollView,请在用户滚动时按需添加子视图。最好的方法是实现委托方法:

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
于 2013-08-02T07:58:40.987 回答
3

您可以进行自定义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;
于 2013-08-02T08:47:58.390 回答