[英]how to have a page view controller with more than one page But using just one view controller in swift 4?
[英]How to load view swift more than one time?
我有一個視圖(DataInputContainerView),並將該視圖加載到DataController。 這是我的代碼,用於將DataInputContainerView加載到DataController
var heightInput: CGFloat = 50
lazy var inputContainerView: DataInputContainerView = {
let dataInputContainerView = DataInputContainerView(frame: CGRect(x: 0, y: 0, width: self.view.frame.width, height: self.heightInput))
dataInputContainerView.dataController = self
return dataInputContainerView
}()
該代碼是可行的。 但是例如,我想再次加載
@IBAction func loadAgain(sender: AnyObject) {
self.heightInput += 15
// Put here to load that view again
}
我想使高度視圖+15並再次加載
因此,您是否需要將創建DataInputContainerView類的多個實例的代碼?
不要使用惰性屬性。 它將在第一次調用時創建一個實例,此后每次都返回相同的實例。
而是創建一個返回DataInputContainerView
的函數:
func makeDataInputContainerView(height: height: CGFloat) ->
DataInputContainerView {
let rect = CGRect(x: 0, y: 0, width: self.view.frame.width,
height: height)
let dataInputContainerView = DataInputContainerView(frame: rect)
dataInputContainerView.dataController = self
return dataInputContainerView
}
然后調用它:
var height = 50
for (_ in 1...5) {
var newDataInputContainerView = makeDataInputContainerView(height: height)
self.view.addSubview(newDataInputContainerView)
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.