【问题标题】:Xcode changing my xib when opening another file打开另一个文件时Xcode更改我的xib
【发布时间】: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" width="50" height="50"/>
[ADDED]<rect key="frame" x="20" y="-56" width="50" height="50"/>

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

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

【问题讨论】:

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

标签: xcode macos nstableview


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-06
    • 1970-01-01
    • 2015-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-11
    • 2023-04-01
    相关资源
    最近更新 更多