【问题标题】:What can be the all possible scenarios that make uiview jump up 20px使 uiview 跳跃 20px 的所有可能场景是什么?
【发布时间】:2012-06-19 04:23:48
【问题描述】:

...

[[UIApplication sharedApplication] setStatusBarHidden:YES];

self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
self.window.rootViewController = self.viewController;
[window makeKeyAndVisible];

...

这是我的应用程序委托中的代码,它正在加载视图控制器(或根视图控制器)。此视图控制器执行一些检查并根据检查加载另一个视图。

但是viewcontroller加载的views向上跳了20px,我搜索了很多关于这个的,主要是状态栏的问题,所以我试图隐藏它,但没有用。

请再告诉我一件事 initWithNibName 和 init 似乎都在做同样的工作。

在搜索了很多之后仍然没有得到任何解决方案,这就是我想知道的原因,让 uiview 跳高 20px 的所有可能场景是什么

...在这种情况下,手动调整视图大小不是一个好习惯。我想找出这种跳跃的实际原因,以便可以通过标准方式而不是黑客来解决问题。

【问题讨论】:

  • 您在 .xib 文件中(在 Interface Builder 中)设置的 viewController(视图)的大小是多少?它的高度可能比屏幕高度小 20px。
  • IB 中的视图大小为 320 * 460 且不可编辑。

标签: ios uiview


【解决方案1】:

viewController 的initWithNibNameinit 的区别在于initWithNibName 您可以为此 viewController nib 文件指定任何名称,其中 init 仅搜索要加载的特定 nib 名称

例如, 如果你的viewController名字是MyViewController,那么当你调用init的时候,名字为MyViewController.xib的nib控制器会被搜索并加载 如果你调用initWithNibName,你可以指定任何笔尖名称

关于跳跃问题,我猜是状态栏问题,请提供更多信息

【讨论】:

  • 感谢您消除我对 init 和 initwithnibname 的困惑,我也很困惑在哪里跟踪此问题以及我应该提供什么信息,请告诉我此信息是否值得“IB 中的视图大小为 320 * 460 且不可编辑”。
  • 你隐藏状态栏了吗,你的视图上的autoresizeMask是什么,你如何在主视图上添加你的视图
猜你喜欢
  • 2021-04-26
  • 1970-01-01
  • 2015-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多