让自定义 TableViewCell 的 UIimageView 宽度为单元格宽度的 1/3,单元格高度 = 图像纵横比
Posted
技术标签:
【中文标题】让自定义 TableViewCell 的 UIimageView 宽度为单元格宽度的 1/3,单元格高度 = 图像纵横比【英文标题】:Have UIimageView width of custom TableViewCell be 1/3 of cell width, and height of cell = image aspect ratio 【发布时间】:2018-08-05 21:38:08 【问题描述】:我是 ios 编程新手,主要是使用界面生成器来调整单元格布局。 目前我有一个带有 ImageView 和 Label 的自定义 TableView 单元格。
我想:
1) ImageView Width = 1/3 大小的单元格(我似乎无法通过情节提要做到这一点)
2) 在保持图像纵横比的情况下动态调整单元格高度。我已经为 UIImageView 添加了约束,使其等于单元格高度。
我搜索了 ***,但其中一些答案变得非常复杂,所以我无法真正理解如何将它与我的案例相匹配。 我玩弄了一些限制,但似乎我必须以编程方式执行此操作?
这是我目前拥有的单元格方法:
extension FirstTableViewController: UITableViewDelegate, UITableViewDataSource
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
return dataCells.count
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
let folderCell = dataCells[indexPath.row]
print(folderCell)
let cell = tableView.dequeueReusableCell(withIdentifier: "cell") as! FirstTableViewCell
cell.setCell(cell:folderCell)
return cell
这是我的单元格类:
class FirstTableViewCell: UITableViewCell
@IBOutlet weak var ImageView: ScaledHeightImageView!
@IBOutlet weak var FolderLabel: UILabel!
override func awakeFromNib()
super.awakeFromNib()
//print(FolderLabel)
func setCell (cell : FolderCell)
self.ImageView.image = cell.image
self.FolderLabel.text = cell.label
【问题讨论】:
【参考方案1】:您可以通过在故事板上添加与 superview 相等的宽度,然后将其 Multiplier 更改为 0.3
【讨论】:
啊,谢谢 =)。 抱歉,打扰您了,您是如何获得与 Superview 相同的宽度的?您是否同时单击 view 和 imageView 并选择“等宽”?谢谢。 任何时候,Ctrl + 从图像视图拖到 contentView“单元格背景” 谢谢。你的意思是“contentView”吗?我看到了“contentView”,但我不确定我没有看到“单元格背景”。 谢谢。很抱歉再次打扰您。我按照您的建议添加了约束,但是如果我将乘数设为 0.5,则某些图像似乎不会占据单元格的一半,而其他图像则占据一半以上。我有方面适合检查。看来我仍然需要动态更改单元格的高度,以便它可以保持纵横比,同时只占用一半的单元格。我该怎么做呢?谢谢。以上是关于让自定义 TableViewCell 的 UIimageView 宽度为单元格宽度的 1/3,单元格高度 = 图像纵横比的主要内容,如果未能解决你的问题,请参考以下文章
无法让自定义 RKBlockValueTransformer 与 RestKit 一起正常工作