1

画像をセルの高さ 100% にしようとしていますが、正しく更新されていないようです。

テキストの長さから高さを計算するための特別なgetCellHeightFromDataメソッドを作成しました。またgetRestaurantPictureById、特定の幅と高さにサイズ変更された画像で応答する Web サーバーから画像をダウンロードし、UIImage.

UIImageView読み込まれた画像と同じ幅と高さに設定したい。幅と高さの両方に浮動小数点数としてアクセスできるので、それは問題ではありません。

UIImageView アウトレットは次のようになります

@property (weak, nonatomic) IBOutlet UIImageView *Thumbnail;

画像のサイズ変更の試み (UITableViewCell サブクラス内から)

- (void)updateCellWithContent:(RestaurantCell*)restaurant
{
    self.NameLabel.text = [restaurant name];
    
    float width = 75.0;
    float height = [RestaurantCell getCellHeightFromData:restaurant];
    
    self.Thumbnail.frame = CGRectMake(self.Thumbnail.frame.origin.x, self.Thumbnail.frame.origin.y, width, height);
    self.Thumbnail.image = [DataLoader getRestaurantPictureById:restaurant.restaurantId withWidth:width andHeight:height];
}

実行するとすぐに正しく表示されませんが、スクロールしてセルが見えなくなってから跳ね返ると、適切な (100%) 高さで再描画されています。

スクロールして見えなくなる前に

前

最初のセルを見えないようにスクロールし、元に戻した後

ここに画像の説明を入力

何か案は?前もって感謝します :)

4

2 に答える 2

0

UITableViewDelegateおそらくメソッドを実装する必要があります

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

正しい値を返すことを確認してください。次に、セルの高さを設定する場所 (たとえばtableView:cellForRowAtIndexPath:) で、このメソッドを呼び出すだけで高さの値を取得できます。基本的に、複数ではなく、各行の高さに対して単一の値を持つようにする必要があります。

于 2013-11-11T20:14:55.873 に答える