2016-04-08 28 views
0

調整單元格大小我想設計一個的tableView這樣如何的tableView

enter image description here

但是當我調整

cellForRowAtIndexPath,我把cell.contentView.frame.width = CGFloat(tableView.bounds.width - 40)使細胞更小的內容查看,但它顯示錯誤:

Cannot assign to property: 'width' is a get-only property

那麼如何使單元更小。

任何幫助將不勝感激,謝謝。

+0

爲什麼你不把領先的空間? –

+0

我發現了這個問題,如果我想這樣設計,我必須在單元格的contentView中放置一個UIView。 :) – Khuong

+0

確切,然後把一個領先的空間或任何其他構造新的視圖 –

回答

1

您不能直接分配到widthCGRect。 A CGRectpositionsize組成,而size又由heightwidth組成。

換句話說,frame.width僅僅是frame.size.width

一個getter所以正確的任務將是:

cell.contentView.frame.size.width = CGFloat(tableView.bounds.width - 40)

但是,這完全是錯誤的思路。 您應該將單元格設計爲自定義單元格,可以將其放入新的.xib文件中,也可以將其設置爲故事板中的原型單元格,並使用AutoLayout來佈局單元格contentView的子視圖。

0

要定製的一樣,像我貼一個細胞,只需創建單元格的內容查看裏面的UIView的,就像這樣:

enter image description here

這裏的結果:

enter image description here

+0

我沒有看到這些單元的任何不同 – t4nhpt

+0

我只是舉個例子:) – Khuong

1

使用heightForRowAtIndexPath方法

override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat { 
    return calculatedHeightForSpecificIndexPath 
} 
+0

它的工作原理,謝謝 –

+0

@ AlexIoja-Yang很高興能幫上忙。如果我的回答對你有幫助,你能否將其標記爲已接受?謝謝! – penatheboss

+1

希望我能,@Khuong問你這個問題。希望他現在能記住這個問題 –