4

目的 c、ios5 のテーブルビュー セルのデフォルトの削除ボタンのスタイルを設定する必要があります。一般的な考え方は、次のようなことができるという前提です。

    UIImage *addImage = [UIImage imageNamed:@"greenButtonDark.png"];
    UIButton *addButton = [UIButton buttonWithType:UIButtonTypeCustom];
    addButton.frame = CGRectMake(0, 0, addImage.size.width, addImage.size.height);

    [addButton setImage:addImage forState:UIControlStateNormal];
    [addButton addTarget:self action:@selector(pushAddItem) forControlEvents:UIControlEventTouchUpInside];

    UIBarButtonItem *addBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:addButton] ;

    self.navigationItem.rightBarButtonItem = addBarButtonItem;

上記のコードは viewDidLoad メソッドで呼び出され、ヘッダーの右ボタンを上書きします。システムがデフォルトで追加するボタンに匹敵するものがあると思いますが、この特定のボタンにアクセスする方法がわかりません。

これを明確に説明できない場合、参照する削除ボタンは、このコードで自動的に生成されたものです...

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
    if(editingStyle == UITableViewCellEditingStyleDelete)
    {
        //do something when someone hits delete
    }
}

何か明確にする必要がある場合は、お知らせください。ありがとう。

ここに画像の説明を入力

4

1 に答える 1

0

この回答iPhone UITableView - Delete Buttonを見てください。基本的にあなたの質問に答えるはずです。つまり、 UITableViewCellをサブクラス化し、-(void)willTransitionToState:(UITableViewCellStateMask)state-(void)didTransitionToState:(UITableViewCellStateMask)stateをオーバーライドして、ここでボタンを変更する必要がある場合があります。

もう 1 つの方法は、UITableViewCellをサブクラス化し、削除ボタン機能を自分で実装することです (スワイプ ジェスチャを認識し、 UITableViewデリゲートの既定のメソッドと同様の方法で押されたときにボタンとハンドルを表示します)。

于 2012-06-27T13:05:19.703 に答える