1

テーブルビューにカスタムセルがあります。uitable ビューが編集モードの場合。セルの内容に丸みを帯びた削除アイコンが表示されます。

コンテンツを右に移動して、小さな赤い丸いボタンの場所を作るにはどうすればよいですか。

カスタムセルビューレイアウトサブビューでは、何かが起こるはずです. セル ビューのどのサブビューのサイズを変更する必要がありますか?

前もって感謝します

私の現在のコードを見てください

- (void) layoutSubviews
 {
[super layoutSubviews];

CGFloat width = self.width - _productImage.right - 20.f;

if (self.accessoryView)
{
    width -= self.accessoryView.width;
}

_productName.width        = width;
_productDescription.width = width;
_productPrice.width       = width;

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationDuration:3.0f];

for (UIView *subview in self.subviews) {


    if ([NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellDeleteConfirmationControl"]) {
        CGRect newFrame = self.contentView.frame;
        self.contentView.frame = CGRectMake(40, self.contentView.frame.origin.y, newFrame.size.width, newFrame.size.height);
    }
    else if ([NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellEditControl"]) {
        CGRect newFrame = self.contentView.frame;
        self.contentView.frame = CGRectMake(40, self.contentView.frame.origin.y, newFrame.size.width, newFrame.size.height);
    }
    else if ([NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellReorderControl"]) {
        CGRect newFrame = self.contentView.frame;
        self.contentView.frame = CGRectMake(40, self.contentView.frame.origin.y, newFrame.size.width, newFrame.size.height);
    }
}
[UIView commitAnimations];

}

4

1 に答える 1

1

tableview.isEditingプロパティを確認できます。

それがYESの場合は、cell.contentView フレームをx-differenceに更新します。それ以外の場合は、デフォルトのものを使用します。

これがあなたが要求したものであることを願っています。

コーディングをお楽しみください :)

于 2012-08-08T10:44:37.957 に答える