为什么在设置imageView前设置"translatesAutoresizingMaskIntoConstraints"为false,会不显示图片?

Why setting "translatesAutoresizingMaskIntoConstraints" to false before setting imageView, will show no images?

我对iOS真的很陌生,我正在学习滚动视图中的约束。

我有以下代码(type1):

wallpaper.view.translateAutoResizingMaskIntoConstraints = false
wallpaper.wallpaperImage = UIImage(named: backgroundImageName)

如果我构建应用程序,屏幕只显示白屏。 我检查了 nil 我的图像的可能性,但它不是。

然后我将代码换成这个(type2):

wallpaper.wallpaperImage = UIImage(named: backgroundImageName)
wallpaper.view.translateAutoResizingMaskIntoConstraints = false

然后,图像就会出现。我的问题是为什么它会影响我的 imageView? 我已经看到几个使用 type1 的代码,它们都可以正常工作。

感谢阅读!

我认为是因为 imageView 的内在内容大小 image = nilCGSize.zero 只有当你明确定义 widthheight 约束时你才会得到一个不同的结果,那么当您之前设置图像时,UIImageView 的固有内容大小将具有由 UIImageView

中包含的 UIImage 定义的值