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

ios 真空包装 UIView

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

我的 UIView 内部有动态数量的 View ,并且还具有背景颜色。我正在尝试将 UIView 塞入所有项目中,但它不起作用。

[self sizeToFit] 似乎在 UILabel 上工作得很好,但在 UIView 上却不行。

我知道我可以通过循环遍历所有 subview 来手动计算面积,但这对于这样的事情来说似乎工作量太大了。

我希望有人知道更简单的方法.. 谢谢



Best Answer-推荐答案


更新

如果您使用自动布局,您可以使容器 View 紧贴其 subview 。在你的容器和它的 subview 之间设置约束,在 subview 和容器的父 View 之间设置约束,但是不要在容器和它的父 View 之间设置约束。

原创

没有内置支持自动将 View 包裹在其 subview 周围。

sizeToFit 方法的工作原理是发送 [self sizeThatFits:self.bounds.size],然后根据 sizeThatFits 返回的大小调整自身大小:.

UILabel 覆盖 sizeThatFits: 方法以计算其字体中文本的大小。

您需要创建一个自定义 UIView 子类并覆盖 sizeThatFits:。很简单:

- (CGSize)sizeThatFitsCGSize)size {
    CGRect rect = CGRectZero;
    for (UIView *subview in self.subviews)
        rect = CGRectUnion(rect, subview.frame);
    return rect.size;
}

关于ios 真空包装 UIView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9542586/

回复

使用道具 举报

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

本版积分规则

关注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