Ios tableview单元格中的ImageView未从前导获取整个宽度

Ios tableview单元格中的ImageView未从前导获取整个宽度,ios,swift,uitableview,Ios,Swift,Uitableview,我在单元格中有一个TableView和一个ImageView,它占据了整个宽度。我已经设置了所有的前导、尾随、顶部和底部约束,但仍然不起作用。 总是有一些前导空间,比如图像视图没有延伸到前导,我已经更改了内容视图背景颜色,以清晰地显示我的问题 @Ahsan Mughal 试试这个,我希望它能解决你的问题 contentView.clipsToBounds = true *执行以下步骤: 1) 使用等高超视图、水平中心、垂直中心和恒定宽度更改约束。 2) 获取恒定宽度约束的出口,在运行时,您应该

我在单元格中有一个
TableView
和一个
ImageView
,它占据了整个宽度。我已经设置了所有的前导、尾随、顶部和底部约束,但仍然不起作用。 总是有一些前导空间,比如
图像视图
没有延伸到前导,我已经更改了内容视图背景颜色,以清晰地显示我的问题

@Ahsan Mughal

试试这个,我希望它能解决你的问题

contentView.clipsToBounds = true
*执行以下步骤:
1) 使用等高超视图、水平中心、垂直中心和恒定宽度更改约束。
2) 获取恒定宽度约束的出口,在运行时,您应该更改单元格类中的widthConstraint.constant=
3) 在单元类中写入self.layoutIfNeeded()
这是单元格中imageview的新行为/问题,它继承图像的大小并覆盖给定的约束*

只需将背景色添加到您的
图像视图
,然后查看
图像视图
是否与
上/左/右/下
对齐。如果是,请检查
imageview
的contentMode,如果它是
居中的
方面适合的
。在这种情况下,将其更改为
比例填充
侧面填充

Swift 尝试使用它们并检查图像大小是否正确。您可以使用以下选项定位图像:

  • scaleSpectFit
    //缩放内容以适应固定的 方面。其余部分是透明的
  • redraw
    //重新绘制边界更改(调用-setNeedsDisplay)
  • center
    //内容大小保持不变。定位调整
  • scaleToFill
  • top
  • 底部
  • 左侧
  • 右侧
  • 左上方
  • topRight
  • bottomLeft
  • bottomRight

快乐编码…!!!:)

确保您的
图像视图的
前导约束
超级视图的边距无关


另外,调试并检查视图层次结构,以查看是否发现任何可疑的约束。

我认为问题在于您引用的是“imageView”,这是tableviewcell提供的默认图像容器


请检查是否引用了正确的ImageView,即您创建为IBOutlet的ImageView,并设置了所有约束。

尝试将单元格移动到单独的nib,然后在viewDidLoad和CellForRow中注册该nib,并调用该单元格 在contentView中放置一个类似mainView的视图,然后可以对该mainView设置约束,并使用该约束进行播放。

您应该避免将单元格直接放在tableView中。查看它会很混乱:D

显示您的代码请共享
UIImageView
约束的屏幕截图请查看附加的图片链接。我现在不允许附加图像。您可以共享您的imageView代码吗?如果让cell=tableView.dequeueReusableCell(标识符为:“countrycell”,for:indexPath)为?ApplySectionCell{cell.imageView?.image=imagesArray[indexPath.section]//cell.imageView?.autoresizingMask=[.flexibleWidth,.flexibleHeight]cell.layoutMargins=UIEdgeInsets.zero cell.contentView.clipsToBounds=true cell.imageView?.contentMode=.scaleAspectFill cell.layer.borderColor=UIColor.black.cgColor cell.layer.borderWidth=1 cell.layer.cornerRadius=8 cell.clipsToBounds=true返回单元格}我在这件事上浪费了将近8个小时this@Ahsan莫卧儿:确保您已为contentView和imageView设置了角半径?确保你的图像视图只有左上角和左下角?@AhsanMughal似乎是你的
leftAnchor
约束的问题。如果在左锚上设置
10像素
,则需要设置
0
。试试这个,如果仍然没有修复,你能显示你的tableView单元格吗?准确地说是yy,但我的前导约束设置为0。这让我mad@AhsanMughal然后你必须展示你的代码,你在UITableViewCell上做了什么,因为你需要找到错误。但是,当我试图实现一个简单的事情时,为什么我需要这样做呢adiash31@gmail.comI有我自己的imageview和定制的cell classI我已经做过很多次了,但这次我字面上强调我无法在
cell.imageView?.image=imagesArray[indexPath.section]
中找到Issuebudy,可选的是报警“?”,您是否将IBOutlet声明为可选类型?检查引用是否正确创建。。事情是
单元格。默认情况下,tableviewcell中存在imageView
。。我觉得你是在引用它,而不是你自己的..谢谢你,伙计.它真的很神奇.在这上面浪费了很多时间。再次感谢您提出不同的方法:)
*Do following steps:
1) Change constraints with equalHeightsToSuperview,centerHorizontally,centerVertically,and a constant width.
2) Take outlet of the constant width constraint and while on runtime you should change the widthConstraint.constant = <WidthOfTheCell> in cell class
3)write self.layoutIfNeeded() in cell class
This is a new behavior/issue of the imageview in cell which inherits the size of Image and overrides the given constraints.*
imgYourImageView.contentMode = .center