当我在 Cocoa Touch 中加载一个新视图时,它会将所有内容向上移动大约 20 像素

Posted

技术标签:

【中文标题】当我在 Cocoa Touch 中加载一个新视图时,它会将所有内容向上移动大约 20 像素【英文标题】:When I load a new view in Cocoa Touch, it shifts everything up about 20 pixels 【发布时间】:2011-02-01 23:36:00 【问题描述】:

好的,从这张图片进展中可以看出,我有一个主屏幕,上面有一个名为“歌曲”的按钮。当按下它时,它会加载一个新的 Nib 和 .h 和 .m 文件,如中间图片所示。然后返回按钮将我们带回到主菜单。

问题是当我加载新视图时,它会将所有内容向上移动 20 像素(大约是状态栏的大小)。有谁知道这是为什么。让我知道。我也可以提供代码。

【问题讨论】:

【参考方案1】:

我以前遇到过这个问题。我可以补救的唯一方法是将我创建的每个新视图设置为屏幕大小。我是这样做的:

CGRect fullFrame = [[UIScreen mainScreen] applicationFrame];
self.view.frame  = fullFrame;

【讨论】:

有人知道这个解决方案正在解决的问题吗?【参考方案2】:

问题可能是wantsFullScreenLayout 在某处设置为YES。检查您的UIViewControllers。

【讨论】:

【参考方案3】:

您可能正在将视图添加到带有框架 (0,0, 320,460) 的窗口中。所以在 y 坐标上增加 20 个像素。更好的选择是改用 UIViewController。

【讨论】:

是的。 20 像素是状态栏的高度,您可能没有考虑到这一点。 其实我接受。您应该使用 UINavigationController 来推送/弹出您的视图。那你状态栏就没有问题了。 我以前遇到过这个问题。请在下面查看我的回复。

以上是关于当我在 Cocoa Touch 中加载一个新视图时,它会将所有内容向上移动大约 20 像素的主要内容,如果未能解决你的问题,请参考以下文章

在新线程中加载 UIWebView 内容

Cocoa:如何将按钮连接到视图?

如何在搜索栏swift的表格视图结果中加载数据

Xcode 5 在带有 WebView 的新视图控制器中加载 URL

在 sencha touch 2 中加载外部 url

我在UIWebView中加载Web视图,我需要单击网站上的登录按钮