0

このように動作する UITableViewCell にボタンを配置したいと思います。ボタンをタップすると、セルはセルのコンテンツ全体を表示し、それ以外の場合はそのコンテンツの一部のみを表示します。完全なコンテンツが表示されると、UITableViewCell の高さが高くなります。基本的には、iOS のアプリ アップデートのスタイルのように見えるはずです。これどうやってするの?

私はもう試した

[tableView beginUpdates];
[tableView endUpdates];

ただし、これはセルのサイズを変更し、コンテンツをセルの中央に配置するだけです。セルに元々表示されている部分を変更せずに、セルの高さが高くなった後にのみ、より多くのコンテンツを表示する必要があります。

カスタムUITableViewCellの私のinitメソッド:

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {
        self.backgroundColor = [UIColor clearColor];

        self.opaque = NO;
        self.textLabel.autoresizingMask = UIViewAutoresizingFlexibleBottomMargin;
        self.detailTextLabel.autoresizingMask = UIViewAutoresizingFlexibleBottomMargin;
    }
    return self;
}
4

2 に答える 2

1

テーブル ビュー セルの高さを変更する場合は、テーブル ビュー セルを変更するだけでなく、テーブル ビューが割り当てるスペースの量も変更する必要があります。tableView:heightForRowAtIndexPath: から目的のサイズを返し、その行をリロードします (例: reloadRowsAtIndexPaths:withRowAnimation: 経由)。

于 2013-07-14T20:51:39.860 に答える