我在定製表格單元格中有兩個UILabel
s,每個在Interface Builder中將「Lines」設置爲「0」。它們垂直堆疊,左右邊緣對齊,位於表格中,行高由自動佈局確定。但他們中的一個堅持截斷無論如何。爲什麼?它應該佔用所需的線並推出表格單元格的高度。如何停止在UITableCellView中使用'...'截斷UILabel
回答
嘗試調用[cell.textLabel sizeToFit]
將根據其內容調整LABELVIEW。
我把它放在了幾個地方,比如'viewDidLayoutSubviews'。我可以讓它顯示第二行,但單元格不會像應該那樣高度增長。所以第二個標籤的第二行重疊到下一個單元格中。 – 2015-03-30 20:22:54
您需要確保您設置了UILabel
的preferredMaxLayoutWidth
。 iOS8應該爲你做到這一點,但我也有自定義動態大小UITableViewCell
s時被截斷的問題。解決方法是將preferredMaxLayoutWidth
(layoutSubviews
)設置爲標籤的寬度。
好吧,那只是工作,但我用硬編碼300,或單元格寬度。在更復雜的佈局......我堅持做自動佈局應該做的計算,來計算'preferredMaxLayoutWidth'的這個值? – 2015-03-31 16:24:01
我一直在尋找它,你可以在layoutSubviews中設置preferredMaxLayoutWidth。我會將其添加到我的答案。 – ABakerSmith 2015-03-31 16:28:05
'layoutSubviews'哪個類?我把它放在控制器的'viewDidLayoutSubviews'中,但標籤的寬度在這裏是錯誤的 - 它是574,但整個屏幕只有320. – 2015-03-31 16:46:03
,達到自動細胞大小,你需要確保你有以下(考慮到你正在使用自動佈局)
- 確保你的意見有限制之最終接觸細胞邊緣,在你因爲您只有一個標籤,所以您可以將頂部,左側,右側和底部的間距設置爲0到所有邊緣。
- 確保您的tableView的estimatedRowHeight屬性設置爲一個值,它可能是tableView.estimatedRowHeight = 44例如
- 確保您設置的tableView的rowHeight屬性來UITableViewAutomaticDimension在viewDidLoad中
- 確保您的標籤以0作爲數行
這樣,您的單元格將根據需要增長,您應該能夠正確地看到您的標籤。
感謝
是的,我做了所有這些事情。 – 2015-03-31 16:12:34
在tableview數據源中執行'func tableView(tableView:UITableView,cellForRowAtIndexPath indexPath:NSIndexPath) - > UITableViewCell'方法之前,嘗試調用'cell.layoutIfNeeded()'。 – batkru 2015-04-08 12:35:14
這對我有用!非常感謝你! – 2015-08-27 07:10:58
layoutSubviews細胞和viewDidLayoutSubviews不起作用。您需要爲單元格使用自定義容器視圖,並在容器layoutSubviews中設置preferredMaxLayoutWidth。我有特殊的子類的UIView
類ExtendedView:使用例如
的UIView {var didLayoutSubviews:(()->Void)!;
override func layoutSubviews() {
super.layoutSubviews();
if let completion = didLayoutSubviews {
completion();
layoutIfNeeded();
}
}
}
container.didLayoutSubviews = {[unowned self] in
let left = self.statusLabel.frame.minX - 4;
width = left - self.title.frame.minX;
self.title.preferredMaxLayoutWidth = round(width)
container.layoutIfNeeded()
}
- 1. UILabel截斷
- 2. 如何停止matlab截斷長數字
- 3. 如何防止在xcode 7.3.1升級後截斷UILabel
- 4. 停止截斷Java文件?
- 5. 多行UILabel正在截斷
- 6. UILabel中的NSAttributedString尾截斷
- 7. 如何在JavaScript數字分割中停止截斷
- 8. 如何檢查UILabel是否被截斷?
- 9. 如何防止用'...'來切斷UILabel
- 10. 動態UILabel截斷文本
- 11. UILabel被截斷的文本
- 12. UILabel字符串截斷
- 13. 我如何停止詹金斯在第80列截斷/包裝
- 14. 如何判斷Rails停止使用Rspec?
- 15. 歸因文本在UICollectionViewCell中截斷了UILabel,但在UITableViewCell中沒有截斷
- 16. 如何在Java中使用printf截斷?
- 17. UILabel用左邊的省略號截斷
- 18. 如何停止蹤跡在日誌截斷在Java中的日誌
- 19. 如何停止使用jQuery Cycle Lite代碼截斷人像圖像
- 20. 如何停止截斷按鈕文本的jquery移動
- 21. 使用UILabel在截斷頭上刪除3個點
- 22. 如何防止在使用UITableViewCellStyleValue1時截斷textLabel?
- 23. Rails控制檯截斷Activerecord輸出 - 如何防止截斷?
- 24. 如何在不影響行間距的情況下截斷UILabel?
- 25. 如何更改UILabel中的截斷字符?
- 26. 在Visual Basic中停止十進制截斷
- 27. UILabel文本被截斷爲大字號
- 28. UILabel截斷「...」(空格+ ...)而不是「...」
- 29. 如何防止Highcharts截斷類別?
- 30. 如何防止SoundPool截斷聲音
我可以建議你包括你使用你的問題的代碼?如果不瞭解產生該結果的代碼,就很難提供幫助。 – smileBot 2015-04-18 01:50:57
曾經有一個被接受的答案涵蓋所有問題? – noobsmcgoobs 2015-10-02 03:42:53