Swift ios viewDidLoad,viewDidAppear 图像控件大小不同



我注意到,设置为全宽的UiImageView在viewDidAppear之前没有给出正确的宽度。

这对我来说有点麻烦,因为:

  • 我加载了一个自定义徽标图形,可以具有任何高/宽
  • 这意味着为了保持比例(和全宽(,我设置了一个高度约束以匹配.png文件中的宽度/高度比例

但是,在viewDidAppear之前,我无法获得真实的图像宽度 - viewWillAppear也没有

我在这里错过了一个阶段/技术(xcode/ios/swift 的新手(,还是我会自己进行计算而不依赖于检索 uiimageview 的宽度?

请记住

,只有当您的视图已加载并且尚未放在超级视图上时,才会调用viewDidLoad,因此您仍然不知道它的最终帧如何,它只有您在其 xib 文件中定义的帧(如果有(

但是然后您将其添加到超级视图中(以多种方式(,因此(在其自动调整大小蒙版之后(它的帧大小会发生变化,您只能在 viewDidAppear方法

最新更新