我有一个包含自定义SlackTextViewController
的表格视图(UITableViewCell
),其中包含UIImageView
和UITextView
。我使用SDWebImage
来缓存和设置图像。
这是我的cellForRowAtIndexPath
:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *identifier = @"CommentsCell";
CommentsCell *cell =(CommentsCell *) [self.tableView dequeueReusableCellWithIdentifier:identifier];
if (!cell) {
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:identifier owner:self options:nil];
cell = [nib objectAtIndex:0];
}
commentsModel =(CommentsModel *)commentsListArray[indexPath.row];
if (commentsModel.hasImage) {
cell.imageHeight.constant=150;
cell.photoImageView.hidden = NO;
NSString *imageUrl = commentsModel.commentImage;
[cell.photoImageView setShowActivityIndicatorView:YES];
[cell.photoImageView setIndicatorStyle:UIActivityIndicatorViewStyleGray];
cell.photoImageView.contentMode = UIViewContentModeScaleAspectFill;
[cell.photoImageView sd_setImageWithURL:[NSURL URLWithString:imageUrl]];
} else {
cell.imageHeight.constant=0;
cell.photoImageView.hidden = YES;
cell.textview.text=commentsModel.comments;
[cell.textview sizeToFit];
}
cell.transform = self.tableView.transform;
return cell
}
首次打开视图控制器时,imageView的内容模式以某种方式设置为ScaleAspectFit
,当我向上和向下滚动几次时,内容模式已正确设置到ScaleAspectFill
。
初始内容模式状态:
向上和向下滚动一些:
发生另一件奇怪的事情,当我提出UIAlertController
时,imageView的内容模式会突然激活到ScaleAspectFill
,如下面的视频所示:< / p>
https://www.youtube.com/watch?v=OT3bUR4CR5c&feature=youtu.be
ScaleAspectFit
。prepareForReuse
方法中设置内容模式。以上都没有解决问题。任何帮助,将不胜感激。感谢。