2017-05-17 38 views
0

我的UITableViewCell變成它的高度設置爲零無形:的UIButton擴張的UITableViewCell內不dissapear

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { 
    return isCollapsed ? 0 : 50 
} 

該單元格I約束從上每個視圖細胞的觀點的內底部。除了UIButton以外,每個視圖都可以工作。但是當單元格的高度爲零時,UIButton文本不會消失。我認爲它與不依賴於父高度的UIButton文本有關。單元格摺疊時,UIButton背景顏色確實消失。 我發現的最佳解決方案是使用UILabel代替。但它沒有觸摸動畫。有沒有手動隱藏按鈕的另一種解決方案?

+0

試圖調用'layoutIfNeeded()' –

+0

你能分享截圖嗎? –

回答

0

夫特3.0

UIButtonUILabel子類。如果你設置的按鈕爲零,但是高度不爲零。你需要隱藏該按鈕。那麼它不出現在單元格中,而cell的高度爲零。

cell.btn.isHidden = true 
+0

'UIButton'不是'UILabel'的子類。一個按鈕有一個標籤作爲子視圖。 –

+0

是的。我沒有正確描述。謝謝。 – Hitesh

0

當您將單元格的高度設置爲0時,子視圖保持其之前分配的高度。因此,子視圖也必須從細胞中移除或必須做出自己的阿爾法0

嘗試,如:

cell.contentView.removeFromSuperview() 

,或者

cell.contentView.alpha = 0 

,或者

讓阿爾法零(或刪除)單元格的子視圖。