gpt4 book ai didi

ios - 使用 autoLayout 的动态 View 更改(即 UILabel)

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:04:50 24 4
gpt4 key购买 nike

我需要创建两个 UILabel,它们应该根据内部的文本大小动态调整大小 UITableViewCell .第一个UILabel应该向左增长(基于文本)并且始终将 15 点与右边界对齐。第二个UILabel应该(也向左动态增长)并与第一个 UILabel 的右侧对齐 7 点。

... [label 2]<--7p-->[label 1]<--15p-->|right cell border

  1. 只能在 storyBoard 上完成(无需代码)吗?
  2. 我在 Storyboard布局中定义了水平约束,并且 sizeToFit:在代码上。并发现水平约束被覆盖了。试图更改 viewDidLoad: 中的框架但并非所有内容都已更新(以 0 延迟执行选择器 - 更新所有单元格中的所有标签但产生一秒延迟。)

请指教,谢谢阿萨夫

最佳答案

问题一)

实际上你可以在代码中做到这一点。但我认为 Interface Builder 在您的情况下更好。

我认为您不必在代码中 [sizeToFit:]。

如果您没有为标签设置宽度限制,我认为您的 Storyboard 中会有警告。

像 UILabel、UIButton 这样的 UIControls 有固有的大小,因为它们有文本内容。所以你不需要设置宽度限制。

但是您有两个标签,当标签之间存在冲突时,您应该让自动布局知道哪个标签更重要。 - 前任。如果标签有长文本,则显示哪个标签的文本而不缩短(...)。

为此,请在 Interface Builder 中设置拥抱(或压缩)优先级。

问题2)

[viewDidLoad:] 不适合改变几何形状的东西。 UIViewController 的 View 添加到 View 层次结构中 [viewWillAppear:] 之后

如果您需要更多信息,请告诉我。

关于ios - 使用 autoLayout 的动态 View 更改(即 UILabel),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24650674/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com