Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone Xcode 5,如何使用与IOS 6和IOS 7兼容的UI构建应用程序_Iphone_Ios_Objective C_Ios7_Xcode5 - Fatal编程技术网

Iphone Xcode 5,如何使用与IOS 6和IOS 7兼容的UI构建应用程序

Iphone Xcode 5,如何使用与IOS 6和IOS 7兼容的UI构建应用程序,iphone,ios,objective-c,ios7,xcode5,Iphone,Ios,Objective C,Ios7,Xcode5,我使用的是Xcode 5。 我想构建一个应用程序,它的UI与IOS 6和IOS 7都兼容。有人能帮我吗。该应用程序应与iPhone(3gs)、iPhone retina 3.5和iPhone retina 4兼容 当我在有IOS 6的iPhone(3GS)上观看UI时,它会失真 我已尝试启用自动布局,但对于某些屏幕,问题仍然存在。在这种情况下,有几个宏非常有用 #define SYSTEM_VERSION_EQUAL_TO(v) ([[[UIDevice cur

我使用的是Xcode 5。 我想构建一个应用程序,它的UI与IOS 6和IOS 7都兼容。有人能帮我吗。该应用程序应与iPhone(3gs)、iPhone retina 3.5和iPhone retina 4兼容

当我在有IOS 6的iPhone(3GS)上观看UI时,它会失真


我已尝试启用自动布局,但对于某些屏幕,问题仍然存在。

在这种情况下,有几个宏非常有用

#define SYSTEM_VERSION_EQUAL_TO(v)                  ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedSame)
#define SYSTEM_VERSION_GREATER_THAN(v)              ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedDescending)
#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v)  ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)
#define SYSTEM_VERSION_LESS_THAN(v)                 ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)
#define SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO(v)     ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedDescending)

#define APP_VERSION_GREATER_THAN_OR_EQUAL_TO(v)     ([[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"] compare:v options:NSNumericSearch] != NSOrderedAscending)
要查看您的iOS版本是否大于iOS7,请执行以下操作:

if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0")) {
 // iOS 7 specific instruction
}
然而,如果这个IF-ELSE仍然很长,你可以这样做

#define IS_IOS_7 SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0")
然后

if (IS_IOS_7) {
  // instruction...
}

1:如果您使用的是UINavigationController,并且您的导航栏可见,则此操作有效

float systemVersion=[[[UIDevice currentDevice]systemVersion]floatValue];

if(systemVersion >=7.0f)
{

self.edgesForExtendedLayout=UIRectEdgeNone;

 }
或 您也可以从stoyboard进行设置

2:另一个解决办法是。您可以使用IOS 6/7增量

i) take new view and setting its Y postion is 20

ii) move all control into this view

iii)setting new view Detas Y Property is -20
现在你认为hirerachy看起来像

您可以在下图中看到如何设置Delta属性

投票结束,因为这表明了一种最低限度的理解,而且谷歌也不难找到一点研究成果,有助于阅读