0

セルを再オーダーするオプションを提供するテーブルビューがあります。しかし、ユーザーがセルを並べ替えているときに削除アイコンを表示したくありません。だから私は削除ボタンを削除するためにこれが好きでした。

通常モードでは..

ここに画像の説明を入力

編集後モード (つまり、削除不可だが再配置可能モード)。

ここに画像の説明を入力

ここで、2 つのことが起こっています。1つは、各セルのアクセサリビューに画像(再配置を表す)があることです。2 つ目は、すべての文字列が左画面からいくつかのポイントに移動されていることです。このギャップは、実際には削除記号用です。削除ボタンを非表示にしたため、空白のスペースが表示されます。

わかりました、ここで問題が発生します。各セルのコンテンツ ビューに画像付きのカスタム ボタンを追加したいと考えています。

だから、私は私の中に次のコードを追加しましたtableView: cellForRowAtIndexPath:

if (isEditable)
{
    selectionButton = [UIButton buttonWithType:UIButtonTypeCustom];

    UIImage *img = [UIImage imageNamed:@"blue_button.png"];

    selectionButton.frame = CGRectMake(-25, 10, img.size.width, img.size.height);

    [selectionButton setBackgroundImage:img forState:UIControlStateNormal];

    [selectionButton addTarget:self action:@selector(buttonClickAction:) forControlEvents:UIControlEventTouchUpInside];

    [cell.contentView addSubview:selectionButton];
}

青いボタンは 24*24 ピクセルでした。

-25 を「x」値として使用した理由:

正の値またはゼロを指定すると、ボタンがセルのテキストと重なって表示されます。下の画像は、x 値が 0 の場合を表しています。

ここに画像の説明を入力

しかし、x=-25 の場合、

ここに画像の説明を入力

必要なもの:

負の x 値でボタンを追加したため、画像全体の幅 (24 ピクセル) が x 値 (25 ピクセル) に隠されます。そのため、ボタン アクションbuttonClickAction:は呼び出されませんでした。ユーザーがタップしたときに画像を変更したい(選択/非選択モードの切り替え)。

ボタンのアクション メソッドを呼び出す方法はありますか? または、カスタム セルを作成する必要がありますか?

ただ混乱..

4

1 に答える 1

0

これを Table View Controller に追加します

- (BOOL) tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath {
            return NO;
}

空きスペースを削除します。

于 2013-04-10T10:36:45.763 に答える