UIImageView 对齐在初始显示时在 tableview 单元格中关闭,但之后没有

Posted

技术标签:

【中文标题】UIImageView 对齐在初始显示时在 tableview 单元格中关闭,但之后没有【英文标题】:UIImageView alignment off in tableview cell on initial showing but not after 【发布时间】:2015-02-19 05:06:19 【问题描述】:

我创建了一个带有自定义 tableviewcells 的 tableview,其中我有一个 UIImageView 来保存图像。首次加载单元格时,图像对齐略微向上并且有点向右。但是,如果我向下滚动以使我无法看到单元格并向上滚动它看起来是正确的。我没有以编程方式移动 UIImageView。我错过了什么?

这就是它的样子,初始加载在左侧,然后在右侧向下和向上滚动,这就是我希望它第一次看到的样子。底部是我的 xib 文件的屏幕截图。

我设置图像的 cellForRowAtIndexPath 中的代码如下所示:

[tableView registerNib:[UINib nibWithNibName:@"MainViewTableViewCell" bundle:nil] forCellReuseIdentifier:@"MainViewTableViewCell"];
MainViewTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MainViewTableViewCell"];
if (!cell) 
    cell = [[MainViewTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"MainViewTableViewCell"];


Post *post = self.maData[indexPath.row];

cell.titleLabel.text = post.title;
cell.titleLabel.adjustsFontSizeToFitWidth = YES;
cell.descriptionTextView.text = post.descriptionString;
cell.theContent = post.theContent;

UIImage *image = [_imageCache objectForKey:[@(indexPath.row) stringValue]];
if (image == nil) 
    image = [self imageWithImage:post.theImage scaledToSize:cell.imageView.frame.size];
    [_imageCache setObject:image forKey:[@(indexPath.row) stringValue]];

cell.imageView.image = image;
return cell;

【问题讨论】:

调试 cellForRowAtIndexPath 之前的帧显示 UIImageView 正确定位在 0,39。因此,出于某种原因,似乎在此之后发生了对齐。 我好像找到了临时解决这个问题的办法,方法是重写layoutSubviews方法并设置位置,这里可以找到答案***.com/questions/4208786/… 【参考方案1】:

使用这个工具https://github.com/Flipboard/FLEX调试你的UI,调试UIImageView的frame。也许它会在这种情况下帮助你。

【讨论】:

有趣会试一试,即使它不能解决我的问题也很好:) 可能会阻止其他发现此问题的人 我推荐这个工具,因为我们需要更多信息来确定问题。有一些情况:autolayout、contentView、frame、bounds等。你应该调试所有,它会帮助你找到解决方法 UIImageview 的原点是 15,19 而不是 0,39,但设置图像后设置原点似乎并没有改变这一点。 您还应该检查 nib 单元格的宽度、tableView 的宽度和屏幕宽度

以上是关于UIImageView 对齐在初始显示时在 tableview 单元格中关闭,但之后没有的主要内容,如果未能解决你的问题,请参考以下文章

notepad++自动对齐使用空格代替Tab并将空格显示为小点

触摸 uivew 时在 uiview 中添加 uiimageview

图像设置为零时UIImageView不重绘

选择时在自定义 UITableViewCell 中调暗 UIImageView

UIImageView 中奇怪的对齐行为

如何使UIImageView适合缩放图像