1

手伝っていただけませんか。セルの編集を行う必要があります。編集は次のようになります。barButtonItem(ナビゲーションバーの右側)を押すと、セルの内容がわずかに右に移動し、チェックボックスが表示されます。ユーザーは、同じnavButtonをクリックして、複数のセルを選択し、編集をコミットできる必要があります。標準の編集を使用しようとしましたが、次の方法がわかりません。-複数のセルを選択してから編集をコミットする-コミットアクションをnavButtonに設定するが、選択した各セルの横に表示される赤い削除ボタンには設定しない方法

4

3 に答える 3

3

Nitの答えにはバグがあります。

コード

tableView.multiselectCheckmarkColor = [UIColor blueColor];

このように書く必要があります:

[tableView setValue:[UIColor blueColor] forKey:@"multiselectCheckmarkColor"];

Xcode 4.5でこれを試しましたが、機能しました。

于 2013-01-19T15:34:31.323 に答える
3

複数選択は、編集スタイルの1つと見なされます。したがって、セルを複数選択可能にするには、UITableViewDelegateにこれを実装します。

-(UITableViewCellEditingStyle)tableView:(UITableView*)tableView editingStyleForRowAtIndexPath:(NSIndexPath*)indexPath {
  ...
  return 3;
}

ここでの「3」は複数選択を意味します。結果は次のようになります。

ここに画像の説明を入力してください

選択した行を取得するには、

-indexPathsForSelectedRows method on the table view.
NSArray* selectedRows = [tableView indexPathsForSelectedRows];

赤いチェックマークが気に入らない場合は、文書化されていないmultiselectCheckmarkColorプロパティを使用して変更できます。残念ながら、それはテーブル全体に適用する必要があります。

tableView.multiselectCheckmarkColor = [UIColor blueColor];

サブクラス化または分類しない限り、水色の背景色を変更することはできません

UITableViewCell and override the -_multiselectBackgroundColor method, like this:
-(UIColor*)_multiselectBackgroundColor { return [UIColor yellowColor]; }

うまくいけば、これはあなたを助けるでしょう..

于 2012-04-25T13:07:01.560 に答える
0

それでも関連がある場合は、iOS 7以降では、UITableViewのtintColorプロパティを使用するだけでよいことに注意してください。これにより、チェックマークの色が設定されます。

于 2014-07-06T13:32:04.213 に答える