我正在开发app,需要支持iPhone 5的4英寸屏幕尺寸。我最初设计的应用程序通过XCode 4.6模拟器运行,目标是iPhone 3.5英寸(视网膜和非视网膜显示器),并从模拟器内切换到iPhone 5。令我惊讶的是,我看到屏幕底部的1英寸空间超出了我的几个UIButton。我必须在iPhone 5模拟器上滚动才能查看我的UIButtons。我该怎么做才能支持所有屏幕尺寸并使其在所有设备上看起来都相同?此外,我的应用程序仅支持所有设备的肖像模式(包括iPad的所有版本),我根本不使用故事板。
请帮忙。
答案 0 :(得分:0)
你不能让3.5英寸的屏幕和4英寸的屏幕看起来完全相同,因为它们不是。但是你可以让它看起来更好。如果没有看到代码,很难说出你遇到了什么问题。但我会尽我所能帮助你。
如果这个视图是你作为rootViewController添加的viewController的一部分,那么它应该注意扩展自己以填满整个屏幕,无论屏幕大小。但是,如果这是viewController视图中的子视图,则应确保视图占据整个屏幕。通常人们会将视图框架硬编码为任意数字,如下所示:
[view setFrame:CGRectMake(0,0,320,460)];
但是,在3.5英寸和4英寸屏幕之间不能移植。你想这样做:
[view setFrame:self.view.bounds];
[view setFrame:self.view.window.bounds]; //sometimes i use this instead
//set autoresizing
view.autoresizingMask = UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleWidth;
除此之外,您还可以使用自动调整功能将组件锚定到屏幕底部,或者随屏幕高度调整大小。