升级 macOS 和 Xcode 后,您的代码出现异常 “Invalid frame dimension (negative or non-finite)”。
原始代码:
Image("image") .frame(width: .infinity)
这可能是由于最新环境对布局维度的更改所导致的。为了解决这个问题,您可以考虑以下两种方法:
- 使用
maxWidth
属性:
通过将frame
的宽度属性更改为maxWidth
,可以确保图像在不超出合理范围的情况下自适应宽度。修复后的代码如下:
Image("image") .frame(maxWidth: .infinity)
- 使用 UIScreen 尺寸:
使用屏幕的宽度作为图像框架的宽度,这样可以确保图像适应屏幕的宽度。修复后的代码如下:
Image("image") .frame(width: UIScreen.main.bounds.width)
通过采取这些措施,您可以有效地解决在升级 macOS 和 Xcode 后遇到的布局异常问题。这些调整将确保您的代码在新环境中继续正常工作,适应了可能引入的布局变化。