我有两个应用程序,都强制用户使用横屏模式,以获得更宽的屏幕,而不是更高的屏幕。 我发现的问题之一是,我的第一个视图看起来很好,但所有其他视图都会出现子视图(UIButtons,UIPicker,UIViews)挤压到一侧或被裁剪的情况(取决于元素是否设置为随着视图大小的变化而移动、调整大小或保持原位置)。 所有的视图都是在IB中设计的横向方向。 我的底层UIWindow和我能想到的所有东西都被布置在横向方向上。即使我的plist文件设置了UIInterfaceOrientationLandscapeRight标志,也是如此。 现在,如果我在根视图控制器同时加载所有视图,那么我就没有问题。 但如果我稍后加载视图,它们就会被裁剪或挤压。 解决问题的唯一方法是在代码中添加以下行,以翻转新视图:
[coming.view setFrame:CGRectMake(0, 0, 480, 300)];
有人知道我为什么需要这样做吗?是因为iPhone认为加载的视图默认大小为300x480,除非对它们应用了变换吗?
谢谢。
附注:如果我不调用上述的setFrame方法,视图将会像这样:
alt text http://files.me.com/mahboud/ljhvun
所有在第一个视图之后加载的视图控制器都会被同样压缩。由于某种原因,第一个视图控制器没有这个问题。