打开另一个文件时Xcode更改我的xib

Posted

技术标签:

【中文标题】打开另一个文件时Xcode更改我的xib【英文标题】:Xcode changing my xib when opening another file 【发布时间】:2013-11-13 17:49:57 【问题描述】:

这是正在发生的事情:

我在 xib 中有一个 NSTableView,它使用单元格的自定义视图。如果我在 xib 打开时按运行,这会很好。

但是,当我离开 xib 并打开任何其他文件运行时,XCode 会更改我的 xib。我已经提交了工作 xib,更改了文件,这就是 xcode 正在更改的内容:

 <imageView horizontalHuggingPriority="251" 
            verticalHuggingPriority="251" 
            id="Ciy-iY-YFr">

[REMOVED]<rect key="frame" x="20" y="5"  />
[ADDED]<rect key="frame" x="20" y="-56"  />

基本上它会改变我在单元格内的 imageView。我试图删除自动布局,再次创建 tableView,但到目前为止没有任何效果:/。

这发生在 OSX 10.8 上的 XCode 5.0.3 上。

【问题讨论】:

能否尝试在代码上设置imageView的frame? 那是作弊 :p。是的,它有效。是的,我非常着迷于弄清楚这一点,以至于我没有想到那个简单的解决方案。虽然我想了解这里“幕后”发生的事情。我希望我能给你的评论加分:p。 【参考方案1】:

您需要了解一些事情:仅仅因为您在UIView's 子类上看到了给定的frame,并不意味着它会在代码运行时出现。如果您正在使用自动布局,很可能您在 Nib 文件上有“橙色”行,这意味着您在视图的框架和实际的自动布局约束之间存在一些不一致。所以

    检查是否存在不一致(橙色线。蓝色很好!)。 禁用自动布局并检查是否有一些奇怪的自动调整大小的蒙版。这会影响您的视图框架。 如果没有工作,请使用代码。 :)

【讨论】:

以上是关于打开另一个文件时Xcode更改我的xib的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 4.3 停止构建 XIB 文件

无法打开文件“XXXX.xib”。我的 xcode 版本是 4.6.2 及以下。有没有安装 xcode 5 的替代解决方案?

更改 Xcode 中的默认 Xib 文件

无法通过 xcode 在 pod 中本地化 xib

Xcode - 如何在不更改 UIScreen 大小的情况下添加 xib 启动屏幕

如何更改 XCode xib 中的堆叠顺序或对象? [复制]