2017-07-18 43 views
0

我在UITableViewCell中有一個視圖,根據條件,視圖高度可以是90或60。我做了一個IBOutlet來限制高度,並在cellForRow方法中更新它的值,但在日誌中獲取佈局。在更新常量後,是否需要調用cellForRow中的任何方法(如layoutIfNeeded)?UITableVeiwCell中的更新約束條件

回答

0

UITableViewDelegate有這種方法,它決定了細胞的高度。

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath; 

執行此方法並根據您的條件返回所需的高度。

除此之外,您需要確保您的約束不會因提供此高度而中斷。

所以這裏的步驟,

  1. 拖動從 '對象庫' 刪除一個UITableViewCell
  2. 選擇單元格,然後從「尺寸檢查器」中將「行高」設置爲60.
  3. 設置子視圖及其約束條件。不要在表格視圖單元格的「內容視圖」上放置高度限制。
  4. 實現上述方法並返回高度60

如果同一個小區可以有高度90,在步驟二,四組90,並確保限制不破,當你在步驟設置90二。