テーブルビューの一部ではないボタンをクリックして、テーブルビュー内のすべてのセルのラベルテキストを変更したいとします。私はインターネット上でドキュメントを検索しようとしましたが、これまでのところ解決策が見つかりませんでした。ボタンクリックでswiftを使用して、プログラムでテーブルビュー内の行のすべての行を選択しますか?
答えて
ボタンアクションでは、データソースを変更して、tableView.reloadData()
を呼び出して、更新されたデータソースを使用してテーブルをリロードします。
あなたは3つの項目持っ例えばテーブルビューに含まれるすべての項目のデータソースを作成し、修正した後、それだけですべてのデータをリロード...
:「あなたが次に
let item1 = "A"
let item2 = "B"
let item3 = "C"
let tableViewItems = [item1, item2, item3]
func tableView(cellForRowAtIndexPath..., indexPath ...) {
// bind your custom datasource to tableview
let cell = ...
let item = tableViewItems[indexPath.row]
cell.title = item
}
をメインにあなたが持っている
:
func didPressModifyAllButton() {
for item in tableViewItems {
// here you can modify your items
item = "Modified ..."
}
tableView.reloadData()
}
私はこれを使用しています。 !
問題は、セルを再利用しているため、例外が発生しています –
はオプション1:あなたのボタンアクションを得ましselectedIndexPathの配列を削除するボタンをクリックすると、すべてのIndexpathを配列に追加できます。
オプション2: テーブルビューでの選択を維持するために維持できるブール変数があります。
//こんにちは、この
func buttonClik(sender: UIButton) {
sender.selected = !sender.selected
tblView.reloadData()
}
set text of label based on button selection as follows
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
if btn.selected {
//give text of label on selection state of button
} else {
//give text of label on normal state of button
}
}
私はこれを使用しています。 0行目のtotalRows = markAttendanceTable.numberOfRows(inSection:0)
問題は、セルを再利用しているため、例外が発生しています –
indexpathの行のセルにそのセルを取得できます。ボタンの選択に基づいてラベルのテキストを変更できます –
VAR isSelected = falseを
@IBAction func yourButtonAction(sender:UIButton)
{
isSelected = True
tableview.reloadData()
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
let cell = tableView.dequeueReusableCellWithIdentifier(“YourCellIdentifier”, forIndexPath: indexPath) as! YourCell
if isSelected
{
// Set your text here
}
else
{
// Set default value
}
}
if you want to change text to previous state when user tap again on button then use.
@IBAction func yourButtonAction(sender:UIButton)
{
sender.selected = !sender.selected
isSelected = sender.selected
tableview.reloadData()
}
- 1. すべての行をプログラムで選択して選択します
- 2. WPF Datagrid - グループ内のすべての行をプログラムで選択できますか?
- 3. テーブルビューの行を選択して、カスタムセルを削除します。
- 4. 角2:テーブル内のすべての行でコンボボックスのオプションをプログラムで選択
- 5. MySQLはすべて範囲内の行を選択します
- 6. リストビューですべての行を選択してすべての行を選択解除するオプション
- 7. JavaFXのテーブルビューは(Controller.initialize内の行を選択する)私はController.initializeにテーブルビュー(行を選択しよう
- 8. PostgreSQLで選択したすべての行をループします。
- 9. テーブルビューで選択した行のイメージを変更します。
- 10. プログラムですべてを選択した後にdatagridviewの選択
- 11. ノックアウトjsボタンクリックしてすべてのチェックボックスを選択
- 12. 空でないすべての行を選択します。
- 13. jQuery選択した行からすべてのデータを選択します。
- 14. MySQLの私は、このコマンドを使用した列からすべての行を選択しています列からすべてのデータを選択し、
- 15. javaFxテーブルビューを使用して選択した行のコンテンツを表示
- 16. ValueMemberプロパティを使用して、コンボボックス内の項目をプログラムで選択します。
- 17. テーブルビューの行を選択してコアデータエントリを削除する問題
- 18. swift 2.0でsqliteデータベースから選択したテーブルビューの行データをスワイプして削除する方法は?
- 19. VBAを使用してPDF内の3行のテキストを選択
- 20. テーブルビューの行をシミュレートします。TableViewcell Swift
- 21. プログラムでテーブルビューのセルを選択しますするsetSelected
- 22. Swiftを使用してUITextFieldのすべてのテキストを選択する方法
- 23. 変数を使用してデータテーブルの行を選択します。
- 24. datetime = dateの行を選択してインデックスを使用します。
- 25. カスタムチェックボックスボタンでテーブルビューの行選択を選択する方法は?
- 26. IgGrid:ページングを使用してグリッド上のすべての選択行を取得
- 27. appdelegateでプログラムでテーブルビューのセルを選択しても動作しません。
- 28. 角度uiグリッドヘッダー行選択、すべての行を選択
- 29. グループ内のすべての値がNULLの行を選択します。
- 30. DataGridView内の行全体をプログラムで選択する(...を使わずに)行番号を指定して
のようにしてみてください私達にあなたのコードを表示し、また、簡単にあなたの問題を説明してください。 –