[英]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.