テーブルビューでセルを追加したり削除したりするための記事がたくさんあります。私が望むのは、ユーザーがセル内の追加ボタンをクリックしたときに、そのセルにテキストを入力する必要があるかどうかを尋ねる必要があります。次に、ユーザーがセルにテキストを入力して、それをテーブルビューに追加します。それを達成する方法を教えてもらえますか?新しいテーブルビューセルを動的に追加する
答えて
セル内ではなくフッターまたはヘッダーに追加ボタンを配置します。セルの追加を管理する方が簡単になると私自身が考えています。これとは別に
、あなたがuitableの代理人としてあなたのコントローラを作る場合、あなたは簡単に、特に、関連するすべてのメソッドにアクセスすることにより、1つのセルを追加または削除することができ、あなたの問題がある内容を正確に把握していない:
- (void)tableView:(UITableView *)aTableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleInsert) {
// ......
}
}
呼び出され
:
[yourTableView insertRowsAtIndexPaths:[NSArray arrayWithObject:newIndexPath ] withRowAnimation:UITableViewRowAnimationAutomatic];
は(UITableViewCell *) createNewCellForTableView
のようなメソッドを持っています。これにより、UITableViewCellが作成され、返されます。
CellForRowAtIndexPath
では、この方法を使用してtableView
のすべてのセルを作成します。 [tableView reloadData];
を実行すると、新しいセルを追加するたびに新しいセルを作成する必要があるため、これはこの方法で行う必要があります。
最後に、新しいセルを作成した後、ADD
ボタンのIBActionで、tableViewを再ロードしてください。
〜シンプルな代替:
あなただけのテキストを追加するには、ユーザーを探しているので、あなたがのUITableViewCellに埋め込まれtextField
を持つことができます。ユーザーが入力を終了するとすぐに、dataSource
(配列はtableView
に設定されています)にテキストを追加し、tableViewをリロードすることができます。 textFieldがenabled
またはdisabled
になっていることを確認してください。
これは私がそれを行う方法であり、それは動作します:次のようにインスタンス変数を作成し、最初の
:
int numRows = 0;
次のようにメソッドnumberOfRowsInSection
を実装します。
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return numRows;
}
を私のアプリケーションは、1ヶ所でREST APIを使用してJSONを取得しています。numRowsの値をnumRows = [jsondata count];
として更新しています
cellForRowAtIndexPath
のように、動的コンテンツがある場合はそのようにしてください。たとえば、私の場合、私はindexPath.rowを使用して、セルを準備して返します。
このメソッドは、変数numRowsの数が0より大きい場合、私は、上記で説明したように、numRowsの数のコンテンツを更新するので、すぐにあなたの動的なコンテンツを持っているように呼び出し、すぐに呼び出す方法となります[YourtableView reloadData];
- 1. 動的に新しいアクタを追加
- 2. Swiftで動的にテーブルビューセルにプログラムでテキストラベルとボタンを追加
- 3. 新しいデータを動的に追加して表示する
- 4. モデルに新しいプロパティを動的に追加する(Laravel)
- 5. Wordpress - 管理に新しいフィールドを動的に追加する
- 6. 新しい経路を動的に追加するには?
- 7. 動的数式に新しい数式を追加する
- 8. 新しいユーザーを動的に追加する方法は?
- 9. 新しいリソースを動的に追加する - CoAP
- 10. 新しいテキストフィールドを動的に追加するJavaFX
- 11. a4j:repeat - 新しい要素を動的に追加する
- 12. 角で動的に新しい行を追加する方法
- 13. 動的に新しいmdオートコンプリート要素を追加する
- 14. 新しいコンボ(選択)ボックスを動的に追加します
- 15. ng-repeat新しいアイテムを動的に追加しない
- 16. Scapy - 動的な長さの新しいフィールドを追加する
- 17. チェックボックス新しい行を追加するときの動的jquery
- 18. 動的に実行時に新しいメソッドとプロパティを追加
- 19. 新しいプロパティを動的に追加:mongooseのモデルに値findOne
- 20. イオン2:新しい動的タブを追加した後、タブを更新する
- 21. onsen UI 2のjavascriptで新しいカルーセルアイテムを動的に追加
- 22. 新しい要素が動的フォームに追加されない
- 23. 動的にスクロールビューにボタンを追加して追加する
- 24. 私は動的に新しいフォームフィールドを追加しようとしています動的に管理
- 25. 特定のリストに新しい要素を動的に追加する
- 26. 新しいhtml要素に角度コンポーネントを動的に追加する
- 27. wpfのテーブルコントロールに動的に新しい行を追加する方法...?
- 28. 動的に(プログラムで)dropkickに新しいオプションを追加するタグのjQuery
- 29. 関数内に新しい要素を動的に追加する
- 30. スワイプを追加して動的リストのレイアウトを更新する
私はワークフローを理解しているとは思わない。あなたは、 "ユーザーがセル内のボタンを追加する"をクリックし、 "それがテーブルビューに追加されました"と言っていますが、ボタンを含むセルがあれば、それは既にテーブルに入っていなければなりません。 –
はい。追加ボタンは既定のテキストでセルに既に表示されています。ユーザーが追加ボタンをクリックすると、その特定のセル内のテキストを編集できる必要があります。ユーザーがそのセルにテキストを入力した後、追加のボタンとデフォルトテキストを持つセルを追加する必要があります。 –