在模拟器中iOS6和iOS7的显示屏幕是不同的

时间:2013-12-03 07:11:15

标签: ios iphone xcode ios7 ios6.1

enter image description here

enter image description here

我的应用程序我将给出部署目标6.1所以在7.0显示和6.1显示屏幕不同,所以如何在6.1和7.0中调整大小

4 个答案:

答案 0 :(得分:5)

iOS 6和iOS 7的主要UI差异在于iOS 7中的视图控制器中包含状态栏。这意味着您的视图控制器比iOS6大20 px。你必须调整你的项目。 首先根据iOS 6设计您的项目,这是更好的方法,您必须做很多练习,现在将每个项目的Δy设置为20。

或者根据iOS 7设计您的项目并将Δy设置为-20

答案 1 :(得分:1)

使用ios7.0及更高版本,然后使用autolayout处理secrren大小

答案 2 :(得分:0)

在AppDelegate.m中添加此代码

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
     //Whatever your code goes here
  if(kDeviceiPad){

     //adding status bar for IOS7 ipad
         if (IS_IOS7) {
              UIView *addStatusBar = [[UIView alloc] init];
              addStatusBar.frame = CGRectMake(0, 0, 1024, 20);
              addStatusBar.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:1]; //change this to match your navigation bar
              [self.window.rootViewController.view addSubview:addStatusBar];
                    }
                }
    else{

         //adding status bar for IOS7 iphone
        if (IS_IOS7) {
            UIView *addStatusBar = [[UIView alloc] init];
            addStatusBar.frame = CGRectMake(0, 0, 320, 20);
            addStatusBar.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:1]; //You can give your own color pattern
            [self.window.rootViewController.view addSubview:addStatusBar];
        }

    return YES;
   }

答案 3 :(得分:0)

可能会有所帮助

-(void)adjustFrameForiOS7:(UIView*)v
{
    if([UIDevice currentDevice].systemVersion.floatValue >=7.0)
    {
        [v setFrame:CGRectMake(v.frame.origin.x, v.frame.origin.y+20, v.frame.size.width, v.frame.size.height)];
    }
    else
    {
        [v setFrame:CGRectMake(v.frame.origin.x, v.frame.origin.y, v.frame.size.width, v.frame.size.height)];
    }
}