我的应用当前处理方向的方式是重新定位视图中的所有项目,其布局可以随着用户与之交互而更改。我遇到了很多问题,例如视图没有出现,视频在屏幕旋转之前发生变化等等。我想知道处理方向的最佳方法吗?
答案 0 :(得分:1)
如果横向布局与纵向布局完全不同,我只需在我的UIView
- 子类的init方法中加载所有子视图,并将它们添加为子视图。
整个魔法都是在layoutSubviews
方法中完成的,我只检查当时的方向。切勿在{{1}}中调用alloc
,addSubview
,removeFromSuperview
,......方法。 layoutSubviews
应该只包含设置layoutSubviews
- 子视图属性的代码。
参考你的问题:
视图未显示:可能忘记了frame
- 致电
在屏幕旋转之前更改的视图:您可能更新了addSubview
- 方法
答案 1 :(得分:0)
一种可能性 - 如果您的应用仅适用于一个方向,则禁止方向更改。这是一个合理的回复,有些应用只能在一个视图中使用。