通用应用定位问题

时间:2014-12-09 13:51:08

标签: ios objective-c xcode storyboard orientation

我的应用最初是为横向广告而设计的。现在我要让它与iPhone兼容。

Converting Storyboard from iPhone to iPad 我按照这个帖子来复制我的故事板并为iPhone定义它。在项目设置中,我在纵向模式下为iPhone定义了新的故事板。在新的故事板中,我将每个viewController更改为在Portrait模式下设置。

当我在iPhone(模拟器或设备)上启动应用程序时,它仍处于横向模式,但是我在新故事板中进行了更改(移动字段,例如)。

我忘了什么吗? 谢谢:))

enter image description here

2 个答案:

答案 0 :(得分:0)

这开始发生在通用项目的新xCode上...转到项目的.plist文件,你会找到一个iPad的方向字段(1项)和iPhone的方向(4项),展开iphone one并删除包含您不想要的方向的行。保存,清理和构建。

答案 1 :(得分:0)

不再搜索,我找到了解决方案。 在应用程序中,我可以访问相机胶卷。 在iPad上,如果我以横向模式访问它,相机胶卷将以纵向方式打开,并且对用户而言是丑陋和烦人的。 然后Stack上的某些人建议使用Category UIViewController + OrientationFix.h

这是代码......

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {


    return UIInterfaceOrientationIsLandscape(toInterfaceOrientation);
}

- (BOOL)shouldAutorotate {
    return YES;
}

- (NSUInteger)supportedInterfaceOrientations {
        return UIInterfaceOrientationMaskLandscape;
}

我不得不修改它

NSString *deviceType = [UIDevice currentDevice].model;
        NSLog(@"Device Type : %@", deviceType);
        if([deviceType hasPrefix:@"iPad"])
        {
            return UIInterfaceOrientationMaskLandscape;
        }
        else
            return UIInterfaceOrientationMaskAll;

奇怪的是,我没有通过搜索" landscape"在所有项目中,即使忽略了案例。