ios – 如何在Swift中设置自定义视图的内在内容大小?

ios – 如何在Swift中设置自定义视图的内在内容大小?,第1张

概述背景 我正在制作一个垂直的标签,用于传统的蒙古语脚本.在我刚刚旋转UILabel之前,但是有一些性能问题和其他并发症.现在我正在从头开始制作标签.然而,当我的高度调整(基于字符串长度)时,我需要垂直标签来告诉自动布局. 我读过的 我读了Intrinsic Content Size和Views with Intrinsic Content Size文档.这些更多关于如何使用它,而不是如何在自定义视图 背景

我正在制作一个垂直的标签,用于传统的蒙古语脚本.在我刚刚旋转UILabel之前,但是有一些性能问题和其他并发症.现在我正在从头开始制作标签.然而,当我的高度调整(基于字符串长度)时,我需要垂直标签来告诉自动布局.

我读过的

我读了Intrinsic Content Size和Views with Intrinsic Content Size文档.这些更多关于如何使用它,而不是如何在自定义视图中定义它.

搜索“ios内部内容大小为自定义视图”只给我

> Proper usage of intrinsicContentSize and sizeThatFits: on UIView Subclass with autolayout

堆栈溢出.这个特定的问题甚至不需要内在的内容大小,因为他们的观点只是一个标准视图的集合.

我在想什么

我正在尝试的是我的答案.我添加了这个Q& A对,所以它不会让别人找到答案,因为我使用我使用的搜索关键字.

解决方法 设置自定义视图的固有内容大小可让自动布局知道该视图的大小.为了设置它,你需要重写intrinsicContentSize.
overrIDe var intrinsicContentSize: CGSize {   return CGSize(wIDth: x,height: y)}

然后打电话

invalIDateIntrinsicContentSize()

每当您的自定义视图的内在内容大小发生变化并且框架应更新时.

笔记

> Swift 3更新:Easier Auto Layout: Coding Constraints in iOS 9
>阅读Writing a Custom Control for iOS 8 using Swift and Auto Layout,了解如何在上下文中正确完成.
>只是因为你的自定义视图中设置的内在内容大小并不意味着它会按照你的期望工作.阅读the documentation如何使用它,特别注意Content-Hugging and Compression-Resistance.
还感谢Q& A把我放在正确的轨道上:How can I add padding to the intrinsic content size of UILabel?
感谢this article和documentation帮助invalIDateIntrinsicContentSize().

总结

以上是内存溢出为你收集整理的ios – 如何在Swift中设置自定义视图的内在内容大小?全部内容,希望文章能够帮你解决ios – 如何在Swift中设置自定义视图的内在内容大小?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1111288.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存