如何在UITableView单元格中的ImageView中添加大小和位置?

时间:2019-02-13 12:39:40

标签: swift image imageview tableview cell

我在UITableView单元格中添加了一个图像:

cell.imageView!.image = UIImage(named: "Default.png")

一切正常,显示图像。现在,我想为图像指定一个自定义的大小和位置,所以我尝试使用以下代码:

cell.imageView!.frame = CGRect(x: 29, y: 17, width: 14, height: 13)

但是由于任何原因它都不起作用。有什么建议吗?

3 个答案:

答案 0 :(得分:0)

如果您的位置不会改变,您可以在TableViewCell

中创建框架
class TableViewCell: UITableViewCell {

@IBOutlet weak var imageView: UIImageView!

override func layoutSubviews() {
    super.layoutSubviews()

    self.imageView?.frame = CGRect(x: 12, y: 23, width: 12, height: 100)
}
}

您可以在tableview(cellForRowAt)中更改帧,但是如果帧cellForRowAt在上下滚动或加载单元格时运行,则不会改变帧的质量。您只能在UITableViewCell中定义一次。

答案 1 :(得分:0)

  1. 为此自定义tableViewCell添加一个自定义类。
  2. 通过情节提要在tableView内部创建自定义tableViewCell。
  3. 在此自定义tableViewCell中添加图像。
  4. 为此图像添加约束(顶部,底部,前导,尾随)。

这样,您无需进行任何编程操作,并且图像尺寸问题将由这些约束解决。

答案 2 :(得分:0)

  • 如果您在 storyboard Xib 文件本身中进行框架相关的操作会更好。如果您希望它们带有静态框架。

运行时间:

  • 您可以使用 NSLayoutConstraints
  • 您可以使用 draw(_ rect:CGRect)方法更改框架。