我正在尝试找出我遇到的错误。最初,我的同事只是使用以下命令将视图添加到子视图中
[self.view addSubview:someController.view];
来自当前 ViewController。这看起来不错,但有点迟缓。我想根据需要延迟加载视图并使用我在这篇文章中得到的建议:如何使用 UISegmentedControl 和 UITabBarController 优化视图控制器导航的性能 https://stackoverflow.com/questions/6847983/view-hierarchy-in-iphone-question
只需将视图设置为类似,它确实可以更快地工作
self.view = someController.view
但是,视图的高度不正确。我正在尝试调试正在发生的事情,但我不确定我是否理解将新视图添加为子视图与将其设置为当前视图之间的区别。我认为将其添加到我当前的视图中,或将其添加为子视图将占用相同的大小,但我一定错过了一些东西。任何帮助表示赞赏。谢谢!
self.view = someController.view,表示该视图被新视图替换。这意味着新视图将具有 someController.view 中设置的所有属性。
将视图添加为子视图意味着新视图将必须面对父视图中设置的所有内容(从框架、大小和边距开始)。
每种方法都有不同的含义,并且应该用于不同的结果。
我不知道哪一个是你的,但如果你只想获得与替换视图相同大小的替换视图,你可以使用someController.view.frame = self.view.frame;
在添加或替换旧视图之前。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)