“API错误:(null)返回0宽度,假设Xcode 9 beta中的UIViewNoIntrinsicMetric”

“API错误:(null)返回0宽度,假设Xcode 9 beta中的UIViewNoIntrinsicMetric”,第1张

概述我正在研究几个项目,它发生了同样的错误. 我仍然无法弄清楚是什么导致了它.这是我的代码或Xcode 9 beta的问题吗? MyApp[22724:4000717] API error: (null) returned 0 width, assuming UIViewNoIntrinsicMetric @rmaddy正确链接到另一个SO答案,但是还有其他与自动布局实践相关的可能性. 该消息还可能与 我正在研究几个项目,它发生了同样的错误.

我仍然无法弄清楚是什么导致了它.这是我的代码或Xcode 9 beta的问题吗?

MyApp[22724:4000717] API error: (null) returned 0 wIDth,assuming UIVIEwNoIntrinsicmetric

解决方法 @rmaddy正确链接到另一个SO答案,但是还有其他与自动布局实践相关的可能性.

该消息还可能与自动布局实现和项目中定义的唯一约束有关.在使用真实设备时,通常不会出现此消息.

UIKit框架 – > UIVIEw API全局变量UIVIEwNoIntrinsicmetric

UIVIEwNoIntrinsicmetric缺少给定数字视图属性的内在度量标准.

UIVIEw实施实践

每个UIVIEw子类都应该实现intrinsicContentSize并返回它认为适合它的大小.例如:

>如果您知道UIVIEw的宽度,则使用返回CGSizeMake(200,50).
>如果您不知道视图的宽度,则使用UIVIEwNoIntrinsicmetric而不是宽度.返回CGSizeMake(UIVIEwNoIntrinsicmetric,50)

UpdateConstraints的UIVIEw基础实现将调用intrinsicContentSize,它将使用从其返回的内容大小向UIVIEw添加约束.

UIVIEw API属性intrinsicContentSize

intrinsicContentSize接收视图的自然大小,仅考虑视图本身的属性.

自定义视图通常具有显示布局系统不知道的内容.通过设置此属性,自定义视图可以根据布局系统的内容与布局系统进行通信.此内在大小必须独立于内容框架,因为例如,无法基于更改的高度动态地将更改的宽度传达给布局系统.
如果自定义视图没有给定维度的内在大小,则可以使用
UIVIEwNoIntrinsicmetricfor该维度.

结论

Xcode错误:

returned 0 wIDth,assuming UIVIEwNoIntrinsicmetric

因此,我们可以了解Xcode假定UIVIEwNoIntrinsicmetric大小,因为项目中的某些UIVIEw返回了宽度大小为0.

如果您在真实设备上部署时仍然收到消息,那么我会特别注意您的布局限制.

总结

以上是内存溢出为你收集整理的“API错误:(null)返回0宽度,假设Xcode 9 beta中的UIViewNoIntrinsicMetric”全部内容,希望文章能够帮你解决“API错误:(null)返回0宽度,假设Xcode 9 beta中的UIViewNoIntrinsicMetric”所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存