【问题标题】:iOS UITableView cell fit to screen widthiOS UITableView 单元格适合屏幕宽度
【发布时间】:2015-06-12 06:41:29
【问题描述】:

我是 iOS 新手,第一次尝试 TableView。

我在 TableView 中添加了一个原型单元格。它里面有一个标签,它在右边。当我在 4S 等较低的显示器上运行它时,标签不可见。

我尝试将水平空间 - 内容视图设置为标签(在右侧),但没有效果。

我一直在玩自动布局,但无法弄清楚,有人可以帮助我吗?

编辑:

【问题讨论】:

    标签: ios


    【解决方案1】:

    在直接回答之前,我会说坚持自动布局,而不是寻找框架、弹簧和结构。

    现在固定 UILabel。选择 UILabel Go to Editor>pinleading and top space to superview。还要固定宽度和高度(如果需要,请修复它们)。你的问题解决了。

    阅读本书了解自动布局并继续玩。- iOS 自动布局揭秘,第 2 版

    问题编辑后更新:

    对于 Label1 集:

    1. 将前导、顶部和底部空间固定到超级视图。
    2. 固定高度(而不是宽度)

    对于 Label1 集:

    1. 将尾随、顶部和底部空间固定到超级视图。
    2. 再次固定高度(而不是宽度)。

    现在选择两个标签并在它们之间固定水平间距。 如果同时你更新框架......也要更新约束。

    【讨论】:

    • 对不起,没用,我按你说的添加了所有内容。还尝试添加尾随空格而不是前导空格。但还是一样的效果。在按照你说的做之后,我添加了一个截图。请参见。标签 2 未出现在屏幕上
    • 我想我找到了问题所在。更改显示后,我必须单击更新帧。请告诉我在运行应用程序时如何解决此问题。
    • @HeisenBerg 请按照步骤操作。现在。感谢您这次上传图片。
    • 我照你说的做了。但是通过转到视图控制器>模拟指标>大小更改显示后,它不会根据屏幕大小进行调整。然后我如果我选择表格单元格并转到解决自动布局>更新帧。有用。那么我能做些什么来解决这个问题呢?有没有办法以编程方式更新框架?
    【解决方案2】:

    为您的标签提供垂直约束,如果不需要自动布局,您可以禁用自动布局。

    【讨论】:

      【解决方案3】:

      约束不足以确定标签的垂直位置。

      两种可选方式:

      • 添加Vertical Center in container 约束
      • 添加标签的高度约束和包含约束的顶部间距(contentViewUITableViewCell 您的案例)

      通过上述每一项以及您已经存在的约束,UILabel 的位置可以准确确定。

      【讨论】:

      • 我想我找到了问题所在。更改显示后,我必须单击更新帧。请告诉我在运行应用程序时如何解决这个问题?
      • @HeisenBerg 更新帧与运行时的约束无关。它只是改变了情节提要中的框架。如果您的约束是正确的,那么当您运行应用程序时,该元素将位于正确的位置。
      【解决方案4】:

      您可以在标签上添加前导、尾随、顶部和高度约束。

      【讨论】:

      • 我这样做了,但没有效果
      猜你喜欢
      • 1970-01-01
      • 2018-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-17
      • 2019-01-09
      • 2011-05-13
      • 1970-01-01
      相关资源
      最近更新 更多