我想在我的swift 3應用程序中隱藏我的UIButton。隱藏UIButton,而不僅僅是刪除可見性
目前我設置
cell.myButton.isHidden = true
這使得按鈕不再可見,但按鈕會乘坐空間還是服用。
我怎麼能真正隱藏按鈕?
我創建一個tableViewCell中的UIButton並與SnapKit
我想在我的swift 3應用程序中隱藏我的UIButton。隱藏UIButton,而不僅僅是刪除可見性
目前我設置
cell.myButton.isHidden = true
這使得按鈕不再可見,但按鈕會乘坐空間還是服用。
我怎麼能真正隱藏按鈕?
我創建一個tableViewCell中的UIButton並與SnapKit
設置的限制,我想你可以使用setNeedsLayout
來調整你的tableViewCell子視圖的位置。當您在tableViewCell類設置你的buttonHide財產,也叫self.setNeedsLayout()
那麼你viewDidLayoutSubview
將被觸發,在其中你應該設置你的tableViewCell的子視圖的框架。
如何設置高度爲的tableView行作爲0?
我有連續的tableView需要顯示在其他元素。 – develth
@develth,如果你設置一個高度約束等於0的按鈕?如果您使用的是Storyboard約束,我會告訴您爲高度約束創建一個插口,並在您想隱藏該按鈕時將常量設置爲0。但是,當你使用SnapKit時,也許你可以設置高度= 0的按鈕約束。 –
你有不同的選擇。
您可以添加約束你的按鈕的高度和寬度,將它們連接起來的網點,並設置限制常量爲0。這將使他們零大小。
從它的上海華如圖@ AymanKarram的回答,您可以刪除的按鈕,但你需要保持一個強大的參考,或會被釋放。 (嘗試刪除@IBOutlet聲明myButton
上的弱限定符作爲測試,這將導致IBOutlet擁有強大的參考。)
我didn't通過故事板創建的視圖,所以我沒有任何@IBOutlets 任何可能性,以保持項目,我需要與AymanKarram's那個按鈕回答? – develth
創建一個實例變量並保存你的按鈕。 –
實例變量將保留對按鈕的擁有引用,以便在從超級視圖中刪除按鈕時不會取消分配。 –
我調用了cell.setNeedsLayout - 但沒有任何更改。 – develth
@develth在你tableViewCell類,你需要重寫'viewDidLayoutSubview'並把所有子視圖在正確的地方(在你的buttonHide財產的價值基礎) – jokeman