在 Interface Builder 中布置项目

Posted

技术标签:

【中文标题】在 Interface Builder 中布置项目【英文标题】:Laying out items in Interface Builder 【发布时间】:2011-06-03 06:34:08 【问题描述】:

所以我以前没有遇到过这个问题,但由于某种原因,我的观点似乎有所转变。在我添加到子视图的第一个视图控制器上,它似乎向上移动了 20 像素,显示空白。我在界面生成器中遵循蓝线,并且我没有对我的视图或框架进行任何调整大小或偏移。我基本上只是在我的应用程序委托中分配/初始化 UIViewController 的子类,然后将该视图控制器的 .view 添加到我的子视图中。只是想知道是否还有其他我想念的东西???抱歉,我太含糊了,我只是不明白发生了什么。

查看我放入视图中的 MkMapView,它显示 x,y 为 (0, 20),宽度/高度为 320/460。但同样,由于某种原因,它无法在 ios 模拟器中正确显示。

【问题讨论】:

【参考方案1】:

在主视图中,检查状态栏的设置(视图属性/模拟用户界面元素)。这可能是 20 像素的罪魁祸首。

我通常会在 44 像素时遇到这个问题,在这种情况下,导航栏会出现异常。

【讨论】:

我不确定是不是因为我删除了 .xib 文件,然后创建了一个新文件,但仍然遇到同样的问题。我认为这可能是我的代码中的某些内容,但我没有任何帧移动、CGRects、调整大小... :-\ @Crystal:要测试理论,请切换 IB 中的状态栏。打开它,检查尺寸。关掉它,检查尺寸。如果在添加/删除状态栏之前加载了 xib,那么这通常是导致的问题。 20px 高度可疑。祝你好运。 感谢您的帮助。还是行不通。我从窗口中删除了状态栏并独立查看,并一起查看。当我运行应用程序时,地图仍然偏移 20px,状态栏显示在我的模拟器上,我也不知道为什么。

以上是关于在 Interface Builder 中布置项目的主要内容,如果未能解决你的问题,请参考以下文章

在我看来,iOS 项目未显示从 Interface Builder 构建的 Interface 元素

如何在 Interface Builder 中向 NSMenu 添加其他项目?

Interface Builder 不会显示现有 XCode 项目中的对象?

在 Interface Builder 中使用常量

如何在 Interface Builder 中获取 iPhone,而不是 iPad 视图

Interface Builder 拾取错误的头文件