2013-05-16 78 views
1

我一直在尝试重新创建使用UITableView的Facebook风格的饲料没有太多的成功。我的第一个想法是为包含'卡片'的单元格添加新视图,但是我无法完成此项工作。有没有人对我如何去做这件事有任何建议?如何使用Rubymotion在UITableView中创建Facebook Feed风格的卡片?

我的其他问题是如何让每个细胞在高度上取决于内容?

附加是Facebook UI的图像,希望能够解释我试图实现的目标。

Facebook Feed UI

+0

这是一个非常模糊的问题。如果您提供了您所尝试的代码示例,那么您会得到更好的答案。 –

+0

有关您最终如何做到的任何详细信息?我有一个与“卡”表和消息(评论)表的问题相同的问题。会对你最后的表现感兴趣。 – Jammer

回答

1

我将继承UITableViewCell,扩展initWithStyle:reuseIdentifier:使用自定义初始化代码,并重写layoutSubviews以根据变量内容定位所有内容。

根据标签的内容及其UIFont,可以计算其宽度和高度。

'Wow! Nice Photo!'.sizeWithFont(UIFont.fontWithName('Helvetica', size: 18.0)) 
# CGSize width=144.0 height=22.0> 

下面是一个模板,我怎么会设置一个变量的UITableViewCell子类:

class AwesomeCell < UITableViewCell 
    def initWithStyle(style, reuseIdentifier: reuse_identifier) 
    super.tap do |cell| 
     # initialize and add your subviews to contentView 
    end 
    end 

    def layoutSubview 
    # layout your subviews 
    end 

    def calculated_height 
    # calculate your height 
    end  
end 

但作为aceofspades指出的,你应该知道的动态确定UITableViewCells高度的性能影响。

如果您可以避免在标签内显示固定数量的行以保持单元格的整体高度不变,那么您将获得更好的性能。

即使创建几个不同的固定高度的UITableViewCell子类并使用基于传入内容的适当子类,也可能会产生性能更高的UITableView。

1

你要子视图添加到您的UITableViewCell实例的contentView。要控制行高,请使用tableView:heightForRowAtIndexPath:但请查看文档以获取有关此性能影响的注释。

相关问题