使UITableViewCell成为基于屏幕宽度的正方形

时间:2015-06-19 19:58:10

标签: swift uitableview ios8 tableviewcell

我有一个显示方形视频的表格视图控制器,我希望每个表格视图单元格也是正方形。是否可以根据屏幕的宽度动态调整每个UITableViewCell的大小(例如iPhone5为320x320,iPhone6为375x375)?

在我的视图控制器的viewDidLoad函数中,我有:

div

在UITableViewCell中显示视频的视图的约束是: 领先和尾随空间到superview,顶级空间到superview,1:1宽高比

我仍然无法让细胞成为正方形。任何帮助将不胜感激!

3 个答案:

答案 0 :(得分:0)

有一个很好的理由,这很难做到。 UITableView中的单元格被重用,因此可以分配一次。 (表演) 调整视图的大小是性能成本高昂的,这样你只能将一个数字作为单元格的高度。

您可以做的是拥有if语句并相应地返回电话版本。

答案 1 :(得分:0)

尝试使用边界而不是框架

frameWidth = view.bounds.size.width

答案 2 :(得分:0)

您可以使用此tableview方法:

override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
    return UIScreen.main.bounds.width
}

注意:Swift 3中的方法