是否可以使用 Swift 在 iOS 7 中更改静态单元格高度?

Posted

技术标签:

【中文标题】是否可以使用 Swift 在 iOS 7 中更改静态单元格高度?【英文标题】:Is it possible to change static cell height in iOS 7 using Swift? 【发布时间】:2015-03-24 22:21:55 【问题描述】:

我知道有人可能会回答这个问题,但我还没有找到解决方案。

我正在尝试使用 Swift 通过代码更改静态单元格的高度。我正在使用这种方法 func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat

但单元格大小不会根据标签的内容而改变。这就是我所拥有的:

@IBOutlet weak var testDetailsLabel: UILabel!
@IBOutlet weak var testDetailsCell: TestDetailsTableViewCell!

override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat 

    if indexPath.section == 1 && indexPath.row == 0 
        self.testDetailsCell.descriptionLabel?.text = self.test?.details
        self.testDetailsCell.setNeedsLayout()
        self.testDetailsCell.layoutIfNeeded()
        self.testDetailsCell.bounds = CGRectMake(0.0, 0.0, tableView.bounds.width, self.testDetailsCell.bounds.height)
        self.testDetailsCell.setNeedsLayout()
        self.testDetailsCell.layoutIfNeeded()

        let size = self.testDetailsCell.contentView.systemLayoutSizeFittingSize(UILayoutFittingCompressedSize) as CGSize!

        return size.height + 1
    

    return super.tableView(tableView, heightForRowAtIndexPath: indexPath)

有人知道是否可以更改静态单元格的高度大小吗?

也许约束是问题所在?我有两侧约束,顶部、底部和高度 >= 约束。

【问题讨论】:

【参考方案1】:

我昨晚也在与这个搏斗。我正在 ios8 中开发,所以如果这在 ios 7 中不起作用,我深表歉意,但我所做的只是为表本身连接一个 IBOutlet,并在我的 viewDidLoad() 方法中使用以下代码:

@IBOutlet var logInTable: UITableView!

    override func viewDidLoad() 
        super.viewDidLoad()

        logInTable.rowHeight = 50  //Make table cells fixed height


我希望这会有所帮助。

谢谢

【讨论】:

以上是关于是否可以使用 Swift 在 iOS 7 中更改静态单元格高度?的主要内容,如果未能解决你的问题,请参考以下文章

我如何在 Swift iOS 中检测 UIImageView 中的更改图像

用 Swift 编写的代码可以在 iOS 7 及更早版本上运行吗? [复制]

我们可以在部署目标小于 iOS 7 的应用程序中集成 swift 的代码吗?

缺少 iOS Swift 方向更改动画

如何在iOS Swift 3中从键盘中删除更改语言键按钮

iOS 10,Swift 3 - 更改非活动栏项目图标?