2016-09-23 2 views
0

1つのビュー(DataInputContainerView)があり、そのビューをDataControllerにロードします。これは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 
}() 

への負荷DataInputContainerViewのための私のコードこのコードは仕事だったです。しかし、私は例

@IBAction func loadAgain(sender: AnyObject) { 
    self.heightInput += 15 
    // Put here to load that view again 
} 

のために、再びロードしたい私はあなたがあなたのDataInputContainerViewクラスの複数のインスタンスを作成するコードをしたい高さビュー15を作り、再び

答えて

0

をロードしたいですか?

遅延プロパティを使用しないでください。これは最初に呼び出されたときに単一のインスタンスを作成し、その後は毎回同じインスタンスを返します。私は私のデータはDataInputContainerViewに呼び出すことができ、

var height = 50 

for (_ in 1...5) { 
    var newDataInputContainerView = makeDataInputContainerView(height: height) 
    self.view.addSubview(newDataInputContainerView) 
} 
+0

をしかし:

代わりに、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 } 

をし、それを呼び出しますか?私の前に自分のコードを使用する場合は、私はinputContainerView.textViewを呼び出すことができます –

+0

あなたは、ビューの数を知らない場合はそれらを配置するか、それらのために多くのインスタンス変数を作成 – Tj3n

+0

あなたは、彼らのための変数? –

関連する問題