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

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

  • 只能在 storyBoard 上执行此操作(无代码)吗?
  • 我在情节提要板布局和代码上的sizeToFit:中定义了水平约束。
    并发现水平约束已被覆盖。
    尝试更改viewDidLoad:中的帧,但未全部更新(执行选择器的延迟为0-更新所有单元格中的所有标签,但创建了一秒钟的延迟。)

  • 请指教,
    谢谢阿萨夫

    最佳答案

    问题1)

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

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

    如果您没有为标签设置宽度限制,我认为情节提要中会出现警告。

    UIControl之类的UILabel,UIButton具有固有的大小,因为它们具有文本内容。因此您无需设置宽度约束。

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

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

    问题2)

    [viewDidLoad:]不适合更改几何对象。在[viewWillAppear:]之后,将UIViewController的视图添加到视图层次结构中

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

    10-08 13:38
    查看更多