ViewController 在 AppDelegate 中加载但向下移动

ViewController loaded in AppDelegate BUT shifted down

在 AppDelegate.m 文件中我有:

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    self.window.backgroundColor = [UIColor whiteColor];

    self.MainVC  = [[MainViewController alloc] initWithNibName:@"MainViewController" bundle:nil];
    self.HamMenuVC = [[HamMenuViewController alloc] initWithNibName:@"HamMenuViewController" bundle:nil];

    self.RevealVC = [[SWRevealViewController alloc]initWithRearViewController:self.HamMenuVC frontViewController:self.MainVC];

    self.navC = [[UINavigationController alloc]initWithRootViewController:self.RevealVC];
    self.window.rootViewController = self.navC;
    [self.window makeKeyAndVisible];

哪个应该加载我的主菜单 VC 然后是汉堡菜单 VC(或滑块?在 iOS 谈话中),当我启动应用程序时我加载了VCs 但整个视图似乎向下移动了大约 30 像素,上面有这个白色 space。

正如您在下面看到的,这是我屏幕的顶部,黑色是 MainVC 开始的地方: the top of the screen

我已经检查了 MainVC 中的 'self.view.frame.origin.y' 并且它显示 0.0 并且我已经检查了'[[UIScreen mainScreen] bounds].size.height' 并且它是为我 运行 设备提供正确的高度,我检查了“[[UIScreen mainScreen] bounds].origin.y”,它显示 0.0.

有谁知道为什么所有数据都说它在正确的位置,但事实是它在我的物理设备和我选择的任何模拟器上的错误位置?

看起来就是屏幕顶部的 UINavigationBar。在您的代码中,您正在使用 UINavigationController 设置 rootViewController

self.navC = [[UINavigationController alloc]initWithRootViewController:self.RevealVC];
self.window.rootViewController = self.navC;

如果您需要隐藏导航栏,请在您的 RevealVC 的 viewDidLoad 方法中调用此方法:

[self.navigationController setNavigationBarHidden:YES animated:YES];

此外,快速提示,尝试以小写字母开头命名您的属性。