Хотите установить размер UIImageView динамически в соответствии с размером изображения, а также хотите установить высоту UITableViewCell в соответствии с вышеупомянутой высотой UIImageView, которая находится в UITableViewCell с использованием AutoLayout в Objective c.
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return UITableViewAutomaticDimension;
}
А мой код в методе cellForRowAtIndexPath приведен ниже:
[cellRecImg.imgMessage sd_setImageWithURL:[NSURL URLWithString:[dictMessage objectForKey:@"msg_attachment"]] placeholderImage:[UIImage imageNamed:@"Image-33"]];
CGFloat imageHeight = cellRecImg.imgMessage.image.size.height;
CGFloat imageWidth = cellRecImg.imgMessage.image.size.width;
float ratio = cellRecImg.imgMessage.frame.size.width / cellRecImg.imgMessage.frame.size.height;
float newHeight = imageHeight / ratio;
float newWidth = imageWidth / ratio;
cellRecImg.constImageHeight.constant = newHeight;
cellRecImg.constImageWidth.constant = newWidth;
[self.view layoutIfNeeded];
Это xib-дизайн моего UITableViewCell, где вы можете видеть постоянную представления.
Это мой UIImageView, здесь вы можете увидеть константы UIImageView.
Этот результат я получил от симулятора.
В этом результирующем изображении вы можете видеть, что UIImageView создает множество дополнительных пробелов от UIImage до края UIImageView. На самом деле я не хочу этот разрыв, а также хочу установить динамическую высоту UITableViewRow в соответствии с высотой UIImageView.
Пожалуйста, ответьте на языке Objective c