2017-08-01 48 views
0

我想顯示帶有自定義單元格的表格。每個單元格有2個標籤,每個UILabel最多可以有2行文本。 所以我有這樣的事情:iOS:UITableView - 編輯模式下的錯誤自動高度

A cell with 2 UILabels

的的tableView會自動計算每個單元格的高度,因爲它可以在細胞間取決於文本多久是每個的UILabel變化。

tableView.rowHeight = UITableViewAutomaticDimension 
    tableView.estimatedRowHeight = 106 

我也希望在編輯模式下顯示此表格,每個單元格左側有一個複選標記,右側有一個附件視圖。所以,我已經添加了這個:

tableView.isEditing = true 
    tableView.allowsMultipleSelectionDuringEditing = true 

這:

cell.editingAccessoryType = .detailButton 

而這一切實際上看起來相當不錯,除了一兩件事。

問題是,它似乎像UITableView計算每個單元格的高度,而不考慮左側的複選標記。例如,如果第一個標籤中的文本可以放入一行而沒有選中標記,即使它不符合選中的複選標記,單元格的高度也不會適當調整,如第二個標籤文本下方的圖像所示被裁剪。

這裏是無論是在每個單元中的第一或第二的UILabel的文本的屏幕截圖被裁剪到由於一個1線(在iPhone 5屏幕寬度):

Cropped labels

是否有人知道如何解決這個問題而無需手動計算每個單元的高度?

PS:我有attached this example所以你可以自己檢查一下。

+0

給您的底部標籤的一些常數value.Now的底部約束實在是有些東西像<= 0.for例如,你可以將其設置爲0,1,2等 – Vikky

+0

@Vikky不幸的是,它並沒有幫助。 –

+0

我已經檢查了你的項目在我告訴你改變後對我來說工作正常 – Vikky

回答

0

看看你的項目,需要做一些小的改動。

  • 首先,選擇UItableVIewCell內側的標籤的,並點擊Attributes inspector按鈕,設置Lines屬性設置爲「0」。
  • 然後將Line Break設置爲Word Wrap,如下圖所示。 enter image description here

這必將工作,我感到目前的工作是這樣的,它的工作原理很對我很好。