2012-03-26 27 views
3

私はiPhoneプログラミングに新しく、状況にこだわっています。UIButtonを使用してUITableViewCellを編集するにはどうすればよいですか?

UITableViewをUIButtonクリックで編集モードにしたいという状況です。編集モードに入ると、各セルにチェックボックスが表示されます。 UIToolBarButtonをクリックすると、チェックされたセルの画像を変更したかったのです。

これをどのように達成できますか?どんな助けもありがとう。ボタンを使用して編集モードに入るように

+0

あなたはUIToolBarButtonに確認UITableViewCellsのイメージを変えたい場合は、テーブルには100個の細胞であると、ユーザはわずか10細胞を選択した場合、その後どのようにRuが10 UITollBarを表示しようとした場合、その後、bcoz二度それを考えますアイコン。 –

+0

私は100個のツールバーアイテムを追加するつもりはないが、タルバーアイテムのクリックでセルのイメージを変更したい – Hassam

+0

チェック済みの回答をチェックする。これはあなたが欲しいものですか? –

答えて

5

は、あなたのボタンに接続された機能で編集モードの呼び出し

[self.tableview setEditing:YES animated:YES]; 

を入力すると述べました。表はviewDidLoadにこれらの行を追加し、編集モードにあるとき、あなたの細胞にチェックボックスを表示するには

[self.tableView setAllowsSelectionDuringEditing:YES]; 
[self.tableView setAllowsMultipleSelectionDuringEditing:YES]; 

次に画像を変更するには、あなたのUIBarButtonItemのためには、[self.tableView indexPathsForSelectedRows]配列とforループを追加し、それぞれを変更しますそのような細胞の画像:

NSArray *paths = [self.tableView indexPathsForSelectedRows]; 
for (NSIndexPath *path in paths) { 
    UITableViewCell *cell = (UITableViewCell *)[self.tableView cellForRowAtIndexPath:path]; 
    //change cell.imageView's image 
} 
+0

正常に動作しているようですが、少し問題があります。現時点で表示されているセルの画像のみが変更され、選択されているが表示されていないセルの画像は変更されません。 cellForRowAtIndexPathに – Hassam

+0

の解決策はありますか?willDisplayCellAtIndexPathメソッドは 'cell.selected'の場合に画像を変更します。答えを受け入れてください。 – JonasG

1

は、ボタンのアクションメソッドから次のコードを呼び出す:

[self.tableview setEditing:YES animated:YES]; 

チェックボックスを変更するには、(典型的には、カスタムビューにセルのeditingAccessoryViewを設定する必要がありますcellForRowAtIndexPath)。ただ、lnafzigerよう

関連する問題