0

カスタム UITableViewCell クラスを作成しました。そのクラスでは、セル内の画像に応じてセルの高さを調整します。

- (void)layoutSubviews {

    [super layoutSubviews];

    self.imageView.contentMode = UIViewContentModeScaleAspectFill;
    if (self.imageView.image) {
        self.frame = CGRectMake(self.frame.origin.x,self.frame.origin.y,             
        self.frame.size.width, self.imageView.image.size.height);
    }
}

しかし、それらはすべて異なる高さであるため、一部のセルは互いに重なり合っています。

ここに画像の説明を入力

最初の画像はデフォルトのセルの高さと同じ高さなので、2 番目の画像は問題ありません。2 番目のイメージの高さが大きいため、3 番目のイメージはその後ろに配置されます。

どうにかして、layoutSubviews から前のセルにアクセスし、そこから y 位置を調整できますか?

4

2 に答える 2

1

layoutSubviewsの代わりにこれを行うことでtableView:heightForRowAtIndexPath:、コードは副作用に依存し、UITableView. これを修正してtableView:heightForRowAtIndexPath:、UITableView に作業を任せる必要があります。

于 2013-09-26T10:46:40.310 に答える