加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ios – Xcode 9中的自我调整表格查看单元格

发布时间:2020-12-15 01:52:23 所属栏目:百科 来源:网络整理
导读:我有一个UITableViewController,其中单元格的自我大小正确使用Xcode 8和Swift 3.现在我正在使用Xcode 9和Swift 4,它们没有扩展,只是使用默认高度44。 (我在每个UITableViewCell中都有一两句话) 我以前用过这个: // MARK: - Table view delegateoverride
我有一个UITableViewController,其中单元格的自我大小正确使用Xcode 8和Swift 3.现在我正在使用Xcode 9和Swift 4,它们没有扩展,只是使用默认高度44。

(我在每个UITableViewCell中都有一两句话)

我以前用过这个:

// MARK: - Table view delegate

override func tableView(_ tableView: UITableView,heightForRowAt indexPath: IndexPath) -> CGFloat {
    return UITableViewAutomaticDimension
}

override func tableView(_ tableView: UITableView,estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
    return UITableViewAutomaticDimension
}

…但是能够对它进行评论,因为每Updating Your App for iOS 11表示默认情况下现在会自行调整大小:

enter image description here

我已经尝试过将部署目标更改为iOS 11,在Storyboard中玩游戏(但我使用的是Table View Cell样式Basic,因此没有太多AutoLayout要做),我无法弄清楚是什么正在进行。

我将UILabel标题设置为0行,并且具有换行字换行,但仍然没有得到任何接近于基于Xcode 9中的文本内容扩展单元格。任何想法?

谢谢!

编辑:

这是固定的选项(我没有),因为它是一个基本单元格:

enter image description here

enter image description here

enter image description here

解决方法

我遇到了同样的问题并用代码行解决了这个问题:

class MyTableViewController: UITableViewController {
  override func viewDidLoad() {
    super.viewDidLoad()

    tableView.estimatedRowHeight = UITableViewAutomaticDimension
    tableView.rowHeight = UITableViewAutomaticDimension
  }

也许这是Xcode中的一个错误。

更新

Xcode 9 beta 3中的新功能:

Interface Builder现在支持设置UITableView的estimatedRowHeight。这允许通过将估计高度设置为非零值来自行调整表格单元格,并且默认情况下处于启用状态。 (17995201)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读