热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Autolayout:ViewDidAppear中的帧大小不正确

如何解决《Autolayout:ViewDidAppear中的帧大小不正确》经验,为你挑选了1个好方法。

我有一个UIViewController,我正在通过IB使用Autolayout来定位和调整其子视图.

出于某种原因,我没有得到正确的UIView布局,我决定在VC中记录所有子视图大小.

我记录了子视图大小:

viewDidLoad{
   self.view.layoutIfNeeded()
   print(uiview.size)
}

viewDidLayoutSubviews{
 print(uiview.size)
}
viewWillAppear{
 print(uiview.size)

}
viewDidAppear{
 print(uiview.size)
}

子视图大小是正确的:

    viewDidLoad中

    viewDidLayoutSubviews

    viewWillAppear中

    viewDidLayoutSubviews

但它变得不正确:

    viewDidLayoutSubviews

    viewDidAppear

如何使用ViewWillAppear中正确的子视图大小?为什么在最终的viewDidLayoutSubviews调用和viewDidAppear中我的尺寸不正确?



1> bjtitus..:

您的"正确尺寸"来自AutoLayout完成其工作之前.框架将是Interface Builder文档中的框架.您需要修复约束以实现您期望的任何帧.

直到最后一次viewDidLayoutSubviews在viewDidAppear之前调用之后,AutoLayout才完成.


推荐阅读
author-avatar
樂烙清欢1982
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有