2013-05-16 39 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:但請查看文檔以獲取有關此性能影響的註釋。

相關問題