2017-09-12 9 views
0

私は実際には入力フォームである静的なTableViewを持っています。私は2つのラベル、2つのテキストフィールドとその中の1つのボタンと、一つのセルを有する第3のセクションで静的なTableViewにTableViewCellを追加して設定する

let numberOfRowsAtSection:[Int] = [5,3,1,1,2] 

override func numberOfSectionsInTableView(tableView: UITableView) -> Int { 
    return numberOfRowsAtSection.count 
} 


override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    return numberOfRowsAtSection[section] 
} 

:このフォームは、細胞の異なる量のそれぞれとの5つのセクションを有しています。ボタンがタップされている場合は、最初のセルのようにこのセクションに別のセルを追加します。

誰でもこの方法を知っていますか?

+0

* *と* static *の追加は、矛盾しています。 – vadian

答えて

0

ボタンのIBActionでは、tableView.insertRowsを呼び出して、指定した行に新しいセルを挿入するだけです。

@IBAction func addNewCell(){ 
    tableView.insertRows(at: [IndexPath(row: 1, section: 2)], with: .none) 
} 
1

documenationが言うように(link):

ダイナミックプロトタイプ。プロトタイプセルを設計し、テーブルの他のセルのテンプレート として使用します。 テーブル内の複数のセルに同じレイアウトを使用して 情報を表示する必要がある場合は、ダイナミックプロトタイプを使用します。動的コンテンツは、実行時にテーブルビューデータソース (テーブルビューコントローラ)によって管理され、任意の数の セルが管理されます。

スタティックセル。静的コンテンツを使用して、合計セル数を含む テーブルの全体的なレイアウトを設計します。スタティック のコンテンツを含むテーブルビューには、デザイン時に の時間を設定できる固定セルセットがあります。 セクションヘッダーなどの他の静的データ要素を構成することもできます。表示される特定の情報に関係なく、テーブルの レイアウトが変更されない場合は、スタティックセルを使用します。

また、同じドキュメントでは、静的なテーブルビューではdataSourceメソッドを実装しないようにしています。

insertRow(at:with:)(さらにdataSourceメソッド)を実行するか、またはストーリーボードに目的の入力を追加して、条件が成立するまで非表示にするかのいずれかの質問に対する答えです。

関連する問題