簡體   English   中英

為什么removeFromSuperview()不折疊表視圖的子視圖?

[英]Why doesn't removeFromSuperview() collapse a tableview's subview?

我在tableView中有一個子視圖,位於單元格上方並通過情節提要添加。

這是文檔概述: 在此處輸入圖片說明

當我單擊UpgradeView中的升級按鈕時,我調用了upgradeVIew.removeFromSuperview(),它按預期刪除了UpgradeView。 但是,它並沒有像我預期的那樣推動細胞上升,只是留下了一段空白。

為了糾正此問題,我還調用了upgradeView.frame.size.height = 0,這也使單元格向上推。

為什么removeFromSuperview()不折疊子視圖?

removeFromSuperview不會折疊,而是掛鈎高度約束並使它的常量= 0

self.upgradViewHeightcon.constant = 0

self.view.layoutIfNeeded()

 upgradeVIew.clipsToBounds = true

UITableView管理自己的直接視圖層次結構(不是您的自定義單元格,而是表頭,頁腳,節,由它創建和管理的以及針對您的單元格行)。 它並非旨在響應對此視圖層次結構的外部更改。 因此,它根本不會注意到您已從其父視圖中刪除了表頭視圖。

但是,正如在另一個答復中指出的那樣,如果將tableHeaderView設置為nil(使用記錄的方法來更改表頭),則UITableView將做出相應的響應。

該視圖被視為tableview標頭,因此如果將其設置為nil,它將自動向上移動。

tableView.tableHeaderView = nil

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM