如何在 UITableView Cell 中给 ImageView 添加 Size 和 Position?
How add Size and Position to ImageView in UITableView Cell?
我在我的 UITableView 单元格中添加了一张图片:
cell.imageView!.image = UIImage(named: "Default.png")
一切正常,显示图像。现在我想给图像一个自定义的大小和位置,所以我用这个代码试试:
cell.imageView!.frame = CGRect(x: 29, y: 17, width: 14, height: 13)
但由于某种原因它不起作用。有什么建议吗?
如果您的位置不会改变您可以在 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中定义一次。
- 为此自定义 tableViewCell 添加自定义 class。
- 通过故事板在 tableView 内部创建一个自定义的 tableViewCell。
- 在此自定义 tableViewCell 中添加图像。
- 为此图像添加约束(顶部、底部、前导、尾随)。
这样,您无需以编程方式执行任何操作,图像大小问题将由这些约束解决。
- 如果你在 storyboard 或 Xib 文件中做与框架相关的事情会更好。如果你想要静态框架。
运行时间:
- 你可以使用NSLayoutConstraints
- 您可以在 draw(_ rect: CGRect) 方法中更改框架。
我在我的 UITableView 单元格中添加了一张图片:
cell.imageView!.image = UIImage(named: "Default.png")
一切正常,显示图像。现在我想给图像一个自定义的大小和位置,所以我用这个代码试试:
cell.imageView!.frame = CGRect(x: 29, y: 17, width: 14, height: 13)
但由于某种原因它不起作用。有什么建议吗?
如果您的位置不会改变您可以在 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中定义一次。
- 为此自定义 tableViewCell 添加自定义 class。
- 通过故事板在 tableView 内部创建一个自定义的 tableViewCell。
- 在此自定义 tableViewCell 中添加图像。
- 为此图像添加约束(顶部、底部、前导、尾随)。
这样,您无需以编程方式执行任何操作,图像大小问题将由这些约束解决。
- 如果你在 storyboard 或 Xib 文件中做与框架相关的事情会更好。如果你想要静态框架。
运行时间:
- 你可以使用NSLayoutConstraints
- 您可以在 draw(_ rect: CGRect) 方法中更改框架。