仅在iPhone

时间:2015-11-29 04:22:37

标签: ios autolayout xcode-storyboard ios-universal-app

我有一个简单的应用程序,其中使用故事板创建UI。我有一个带有图标和登录按钮的登录屏幕。当我在iPhone上运行时,它会出现在iPad上。在模拟器和设备上都有。

要检查是否是由于我的约束,我只删除了一个没有任何约束的标签,并以蓝色背景查看。即使这些都没有出现。构建设置具有部署信息 - >设备设置为通用。

任何指向错误的指示都将非常感激。

修改

我尝试了以下内容。在我的应用程序中,成功登录后,UI进入选项卡视图控制器。如果我禁用显示登录屏幕,则应用程序正在进入选项卡视图控制器并在iPad上正确显示。我不知道为什么登录屏幕没有显示在iPad上。

编辑以添加伊斯兰教所要求的详细信息

代码

AppDelegate,检查用户是否已登录。如果不是,则显示登录屏幕,否则显示TabViewOCntrolelr。 TabViewCOntroller部分显示在iPad和iPhone上

if([GIDSignIn sharedInstance].currentUser.authentication == nil)
{
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
LoginViewController *viewController = (LoginViewController *)[storyboard instantiateViewControllerWithIdentifier:@"loginScreen"];

[self.window makeKeyAndVisible];
[self.window.rootViewController presentViewController:viewController
                                             animated:NO
                                           completion:nil];
}
else
{
    if(![self.gotUserprefs isEqualToNumber:@(YES)])
    {
        UIUserNotificationType types = UIUserNotificationTypeBadge |
        UIUserNotificationTypeSound | UIUserNotificationTypeAlert;

        self.mySettings = [UIUserNotificationSettings settingsForTypes:types categories:nil];
    }

    [[UIApplication sharedApplication] registerUserNotificationSettings:self.mySettings];
    [application registerForRemoteNotifications];
    //To Do add silent sign-in logic
}

ViewCOntroller代码没什么花哨的。只需显示视图,当用户点击Google登录按钮并完成登录时,将通过KVO通知登录已完成。此时,它调用[self dismissViewControllerAnimated:YES completion:nil];解雇自己和标签视图控制器将显示

我已将屏幕截图附加到https://drive.google.com/folderview?id=0B1PZ4somNxNtNGkzZzY2cXYwU1U&usp=sharing

与 1. iPhone和iPad的Main.Storyboard和Preview屏幕显示,当iPhone显示视图时,iPad没有显示任何内容

  1. 与ViewController关联的各种菜单的设置

  2. 登录屏幕如何在模拟器中显示

1 个答案:

答案 0 :(得分:3)

您似乎不是在wAny hAny模式下添加视图(故事板的底部)。如果您在wRegular hRegular(例如)模式下添加视图,您将只在iPad上看到您的视图。反之亦然。检查您的视图,在“属性”检查器的底部,您可能会看到类似这样的内容

enter image description here

要解决此问题,您可以检查Installed,您的视图将安装在所有尺寸类别上。

阅读此tutorial,这是一个好的开始。