【问题标题】:UITableViewCell layout with after creationUITableViewCell 布局与创建后
【发布时间】:2016-11-05 22:41:27
【问题描述】:

我有一个 tableView 自定义单元格。

单元格:

-----------
|  Title  |     
-----------
 |   | <- (Title-Text)Vertical constraint
 | ------------------------------
 | |  View (with label inside)  | 
 | ------------------------------
 |   | <- (View-Text) Vertical constraint
 | <-|--- (Title-Text) Vertical constraint (deactivated by default)
----------
|  Text  |
----------

但是“视图”并不总是可见的对象,如果需要我会隐藏他。

我确实关注:

  1. 隐藏视图
  2. 停用(视图-文本)垂直约束
  3. 激活(标题-文本)垂直约束

这是我运行的应用程序。除了创建后的单元格高度外,一切正常。我看到很多可用空间。

像这样:

-----------
|         |
|         |
|  Title  |  
|         |
|         |
-----------
 | <- (Title-Text) Vertical constraint
----------
|  Text  |
----------

但是如果我旋转设备或向下滚动添加就正常了。

像这样:

-----------
|  Title  |  
-----------
 | <- (Title-Text) Vertical constraint
----------
|  Text  |
----------

创建后如何使单元格高度正常?

【问题讨论】:

    标签: swift uitableview layout autolayout


    【解决方案1】:

    您是否尝试将视图的高度约束设置为零而不是隐藏?

    【讨论】:

    • 这个视图里面有标签。还带有(上、左、右和下)约束。
    【解决方案2】:

    您的title 可能是您的content huggingpriority。您是否尝试将优先级设置为高于其他垂直约束?

    【讨论】:

    • 我可以设置内容拥抱另一个项目或约束。我这样会拉伸其他项目或约束。
    • 你的标题和文字都是 UILabel 吗?标题的垂直间距是否设置为顶部布局指南,文本的底部间距是否设置为?
    • 两个 UILabel,所有约束设置正常(上、左、右和下)。如果我在 viewDidAppear() 中调用 reloadData(),我可以解决这个问题。但也许我们可以找到另一种方式。
    • 哦,我想我之前误解了你的问题。因此,您正在寻找基于内容的动态单元格高度。您是否尝试设置 tableView.estimatedRowHeight 和 tableView.rowHeight = UITableViewAutomaticDimension ?
    猜你喜欢
    • 1970-01-01
    • 2016-01-23
    • 1970-01-01
    • 2013-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-30
    • 1970-01-01
    相关资源
    最近更新 更多