簡體   English   中英

更新UITableView中的UIView幀大小 - swift

[英]Update UIView frame size inside a UITableView - swift

我在這樣的UITableView中有一個UIView

在此輸入圖像描述

問題是當我嘗試以編程方式調整我的UIView的高度時,UITableView內部的現有單元格沒有向上移動
我已經嘗試過更新UITableview size

UITableviewwrapperview 

我一直在嘗試更新

TableView.contentInset

TableView.contentOffset

大小,刪除自動布局和自動布局,但所有相同的結果。

這是我的代碼:

@IBAction func SwitchChanged(sender: UISwitch) {

        if sender.on {
            self.ViewBOX.frame.size.height =  self.ViewBOX.frame.size.height + 275


            var  Frame = self.TableView.tableHeaderView!.frame
            Frame.size.height = self.ViewBOX.frame.size.height;
            TableView.tableHeaderView?.frame = Frame



        } else {
           self.ViewBOX.frame.size.height =  self.ViewBOX.frame.size.height - 275


            var  Frame = self.TableView.tableHeaderView!.frame
            Frame.size.height = self.ViewBOX.frame.size.height;
            TableView.tableHeaderView?.frame = Frame

        }

    }

這是結果圖像

1: 在此輸入圖像描述

2:更新后

在此輸入圖像描述

有人請幫助我解釋我錯過了哪一部分。

謝謝

每次更改標題視圖框時,都需要在表標題中重新分配視圖。

YourView.frame =  Frame
TableView.tableHeaderView = YourView

並刪除:

TableView.tableHeaderView?.frame = Frame

謝謝

如果你想以一種好的方式改變它,你的代碼應該是這樣的。

@IBAction func SwitchChanged(sender: UISwitch) {
    UIView.animateWithDuration(0.3, animations: {
        if sender.on {
            self.ViewBOX.frame.size.height =  self.ViewBOX.frame.size.height + 275
        } else {
           self.ViewBOX.frame.size.height =  self.ViewBOX.frame.size.height - 275
        }
        TableView.tableHeaderView = self.ViewBOX
    }, completion: {
    })
}

暫無
暫無

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

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