• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

[复制链接]
菜鸟教程小白 发表于 2022-12-12 10:41:27 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

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

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

  • 这只能在 上完成吗? Storyboard (没有代码)?
  • 我在 Storyboard布局中定义了一个水平约束和 sizeToFit:在代码上。
    并发现水平约束被覆盖。
    试图更改 viewDidLoad: 中的帧但并非所有都被更新(执行选择器的延迟为 0 - 更新所有单元格中的所有标签,但创建了 1 秒的延迟。)

  • 请指教,
    谢谢阿萨夫



    Best Answer-推荐答案


    问题 1)

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

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

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

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

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

    为此,请在 Interface Builder 中设置 Hugging(或 Compression)优先级。

    问题2)

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

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

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

    回复

    使用道具 举报

    懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    关注0

    粉丝2

    帖子830918

    发布主题
    阅读排行 更多
    广告位

    扫描微信二维码

    查看手机版网站

    随时了解更新最新资讯

    139-2527-9053

    在线客服(服务时间 9:00~18:00)

    在线QQ客服
    地址:深圳市南山区西丽大学城创智工业园
    电邮:jeky_zhao#qq.com
    移动电话:139-2527-9053

    Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap