我試圖儘量減少我的表格單元格的聊天(IOS)的寬度。我只是喜歡用WhatsApp聊天等泡泡來區分我們和其他人聊天消息。迅速的UITableView設置rowWidth
回答
使用UICollectionView,在這裏你可以自定義這兩個單元格高度和寬度。
該行的寬度將始終是的tableview的寬度。對於你所描述的你想要使用UITableView
併爲用戶和他們的朋友製作自定義單元格。
如果您確實想要自定義單元格的寬度,則應考慮使用UICollectionView
,但對於您所描述的內容而言,表格視圖是作業的正確工具。
行的寬度將始終等於的UITableView的寬度。正如Blake所說,從UI(嚴格意義上)來看,UICollectionView將允許您指定寬度和高度。
但它並不總是爲自UICollectionView簡單是不是「的UITableView與不同的佈局」。
動態尺寸
計算動態尺寸是更容易使用的UITableView的,你會prolly需要,因爲聊天氣泡的大小不同一點。在集合視圖中,您必須有一個支持單元,您將手動佈局並讓它爲您計算大小。
的UITableView能夠基於你的汽車佈局約束單元格的高度。
延遲加載
由於收集意見可以有任何類型的佈局,沒有順序。這意味着收集視圖將不得不嘗試加載單元格並預先計算其大小和位置。由於聊天記錄可以包含許多消息,並且您需要的僅僅是垂直加載和顯示它們,所以最好是堅持使用UITableView。
解決方案:
正如我以前所說,單元寬度將始終是相同的 - 等於表視圖的寬度。只有它的內容必須改變。
- 在單元格的內容視圖中創建一個標籤並將其固定到單元格的所有四個邊上。將行數設置爲0,並換行爲換行。
- 在它下面,創建一個代表你的'氣泡'的視圖。可以是9切片圖像視圖,也可以是自定義視圖,您可以在其中實現氣泡繪製邏輯(使用子視圖或重寫drawRect:執行一些自定義繪圖)。
- 將氣泡視圖固定到標籤上以便環繞它,例如,(僞):
var margin = 4 bubbleView.top = label.top - margin bubbleView.bottom = label.bottom + margin bubbleView.left = label.left - margin bubbleView.right = label.right + margin
- 確保從
tableView(tableView:heightForRowAtIndexPath:
重要返回UITableViewAutomaticDimension
:你得玩了一下有標籤的限制使其與左/右對齊。您可以在運行時切換.Leading和.Trailing約束。氣泡/標籤的大小不應改變,只有它們的對齊方式基本上是約束固定的屬性值。
- 1. 的UITableView在迅速
- 2. 的UITableView在迅速
- 3. 迅速的UITableView組的rowHeight
- 4. 的NSDate設置時區中迅速
- 5. UITableView的使用迅速語言
- 6. 設備上迅速
- 7. 設置UIAlertView中鍵在迅速
- 8. 碰撞後迅速設置isdynamic爲false
- 9. 迅速零設置文本字段
- 10. 迅速設置圖像中心餅圖
- 11. 設置水平梯度迅速
- 12. 迅速SwiftyJSON不能設置對象
- 13. 滾動以加載數據。迅速。 UITableView
- 14. 迅速 - iOS設備 - 上UISwitch
- 15. GameOver屏幕位置迅速
- 16. 如何設置新y位置的ImageView在迅速UIView類
- 17. 迅速
- 18. 迅速
- 19. 的迅速
- 20. 循環迅速視頻avplayer迅速
- 21. UITableView的可重複使用的電池問題迅速
- 22. 動態負載的數據的UITableView迅速
- 23. 無法添加到的UITableView UIView的迅速
- 24. 如何創造一個UITableView的類的實例在迅速
- 25. 迅速設置SCNBox的起點和終點
- 26. 如何處理與存儲性能的設置,並在迅速
- 27. 無法設置CustomCells的高度在迅速
- 28. 迅速設置爲默認的Web瀏覽器
- 29. 的executeQuery在迅速
- 30. 如何導出數據的UITableView在迅速
即使在像WhatsApp這樣的應用程序中,單元仍然跨越整個屏幕。這只是細胞內對話氣泡的大小減小了。 – Michael