【问题标题】:iOS implement a long scroll view best practiceiOS实现长滚动视图最佳实践
【发布时间】:2013-08-03 09:44:48
【问题描述】:

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

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

【问题讨论】:

标签: ios uitableview memory uiscrollview


【解决方案1】:

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

查看以下链接:

【讨论】:

    【解决方案2】:

    您可以自定义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;
    

    【讨论】:

      【解决方案3】:

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

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

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

      - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
      

      【讨论】:

        猜你喜欢
        • 2011-12-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-01-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多