有没有办法可以使用相同的xib为iPhone4和iPhone5设计我的课程?
答案 0 :(得分:17)
是的,您可以使用相同的XIB通过自动布局为iPhone 4和iPhone 5设计。
使用iOS 6构建应用程序作为基本SDK,并使用自动布局功能制作可以扩展所有类型屏幕的屏幕。你需要Xcode 4.5才能做到这一点。
在此处开始使用自动布局:
http://www.raywenderlich.com/20881/beginning-auto-layout-part-1-of-2
http://www.raywenderlich.com/20897/beginning-auto-layout-part-2-of-2
答案 1 :(得分:9)
添加名为Default-568h@2x.png的图像。这会将您的应用标识为支持iPhone 5指标的应用。此外,您还需要正确地自动调整视图大小。
答案 2 :(得分:8)
你的简短回答问题是肯定的;
Long是: - 如果您使用XCode 4.5并构建通用的应用程序,NIB文件和Classes将完美适用于Iphone 4和Iphone 5;了解这些移动设备的SDK版本,而不是移动版本,这一点非常重要。
另一件事是iphone 5尺寸比iphone 4大一点,所以你需要相应地设计..请在Iphone 5 screen resolution issue阅读我的答案以便更好地理解。
另请参阅How to develop or migrate apps for iPhone 5 screen resolution?答案,了解有关通用应用程序设计的更多说明。
答案 3 :(得分:5)
是的,
是可能的通过启用内部箭头,只需移除侧角并使对象自由。 所以它会根据屏幕自动调整大小。
答案 4 :(得分:0)
使用AutoAutoresizing
以便您可以使应用与iOS 5和iOS 6兼容。如果您的布局具有最小的依赖性,这很容易。这可以用于修复UIToolBar
等组件的问题。 iPhone 5中的按钮。
答案 5 :(得分:0)
如果您想进行一些小的更改(例如图像位置和大小,滚动视图内容插入..),您可以使用代码区分iPhone 5和iPhone 4 / 4s,并在if / else中实现您的代码言。
使用此:
https://stackoverflow.com/a/12447113/1371949
检测iPhone类型。
答案 6 :(得分:0)
请根据设备定义以下行并检查条件。
#define IS_IPHONE_5 ( fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height - ( double )568 ) < DBL_EPSILON )
if (IS_IPHONE_5) {
btnBookmark.frame=CGRectMake(0, 460, 100, 70);
btnBookmark.frame=CGRectMake(150, 460, 100, 70);
}else{
btnBookmark.frame=CGRectMake(0, 360, 100, 70);
btnBookmark.frame=CGRectMake(150, 360, 100, 70);
}
答案 7 :(得分:0)
您可以使用apple提供的自动布局功能。请参考苹果文件: - https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/Introduction/Introduction.html