我正在制作一个 iPhone 应用程序,并且我在大部分 UI 中使用故事板。我正在为 iOS 6 使用 xCode 4.6。
有没有办法让应用程序同时适用于 iphone4 尺寸和 iphone5 尺寸?
当我在 iPhone 4 模拟器上运行该应用程序时,它看起来不像它应该的那样 - UI 元素看起来不像它们在情节提要上所做的那样(我假设它使用 iPhone5 尺寸)。
如果您需要更多信息,请告诉我。
您可以动态访问视图和设备的高度,然后根据这些值进行调整。或者,您可以使用 iOS 6 的约束在设备底部或其他元素之间设置边距。
要实现前者,只需访问视图的高度属性:
CGFloat height = [[self view] frame].size.height;
您还可以像这样获取设备屏幕的高度:
CGFloat deviceHeight = [[UIScreen mainScreen] bounds].size.height;
deviceHeight -= 20; // remove the tab bar
deviceHeight -= 44; // remove height for a navigation bar?
现在想象一下根据这个值调整视图的原点。无论您在哪个设备上,都可以让它紧贴设备底部。
[aView setFrame:CGRectMake(10, deviceHeight - 10 - 100, 300, 100)];
如果您无法调整元素的布局,请考虑使用滚动视图。只需使用上述技术设置框架,然后设置内容大小。在较小的设备上,您将能够滚动查看更多内容,而在较大的设备上,一切都在那里。