最近在做的一个iPad应用,其中有一个很大的UIScrollView(大概有40个页面),这个Scrollview是横向滑动的。我现在遇到的一个难题是,当device旋转至landscape或是portrait时,scrollview上的40个subview要跟着一起旋转。我现在的解决方法是,在viewcontroller didload的时候init两个NSArray分别用来保存40个portrait subview和40个landscape subview。然后判断当前device的orientation,再把相应的那个NSArray中的subview添加到scrollview上去。然后在每次device旋转的时候,判断旋转后的orientation,再把scrollview上当前所有的subview remove掉再把另一个NSArray中的subview添加进来.同时重新调整scrollview的frame和contentsize,以及content offset,这样旋转后的scrollview仍然显示的是同一个页面.但是这样的方法在真机上测试时,可以感觉到明显的延迟,就是旋转后整个屏幕有短暂的停顿.所以想问下v2ex上的ios高手们有没有更好的解决方案.
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://study.congcong.us/t/56009
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.