“API错误:(null)返回0宽度,假设Xcode 9 beta中的UIViewNoIntri
我正在研究几个项目,它发生了同样的错误.
我仍然无法弄清楚是什么导致了它.这是我的代码或Xcode 9 beta的问题吗?
解决方法
@rmaddy正确链接到另一个SO答案,但是还有其他与自动布局实践相关的可能性.
该消息还可能与自动布局实现和项目中定义的唯一约束有关.在使用真实设备时,通常不会出现此消息. UIKit框架 – > UIView API全局变量UIViewNoIntrinsicMetric UIViewNoIntrinsicMetric缺少给定数字视图属性的内在度量标准. UIView实施实践 每个UIView子类都应该实现intrinsicContentSize并返回它认为适合它的大小.例如: >如果您知道UIView的宽度,则使用返回CGSizeMake(200,50). UpdateConstraints的UIView基础实现将调用intrinsicContentSize,它将使用从其返回的内容大小向UIView添加约束. UIView API属性intrinsicContentSize intrinsicContentSize接收视图的自然大小,仅考虑视图本身的属性. 自定义视图通常具有显示布局系统不知道的内容.通过设置此属性,自定义视图可以根据布局系统的内容与布局系统进行通信.此内在大小必须独立于内容框架,因为例如,无法基于更改的高度动态地将更改的宽度传达给布局系统. 结论 Xcode错误:
因此,我们可以了解Xcode假定UIViewNoIntrinsicMetric大小,因为项目中的某些UIView返回了宽度大小为0. 如果您在真实设备上部署时仍然收到消息,那么我会特别注意您的布局限制. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |