【问题标题】:Storyboard in Xcode generates unwanted fixedFrame="YES" for all views in a controllerXcode 中的 Storyboard 为控制器中的所有视图生成不需要的 fixedFrame="YES"
【发布时间】:2014-06-27 23:15:48
【问题描述】:

我正在使用 Git 进行源代码控制,它使我能够准确指出为什么我的一个观点拒绝正确定位自己。事实证明,单个控制器中的每个视图都已设置为由 fixedFrame="YES" XML 属性修复。我将此更改与写入它的提交隔离开来,现在它位于我的工作目录中。但这是令人讨厌的部分。 我可以恢复 Storyboard 文件,并且 XML 将删除所有 fixedFrame 属性。但是,一旦我开始为我的测试设备构建新版本,更改就会在编译之前重新应用,并且所有视图都设置为固定宽度。它快把我逼疯了。

我已经删除了派生数据,不断清理项目文件,重新启动 Xcode 和我的开发机器。

我认为fixedWidth XML 属性可能与Autoresize Subviews IB 选项相关,但切换该属性对固定帧内容的生成没有影响。我认为元工作区数据类型的文件夹中一定有一些意想不到的东西。

真的可以使用一些额外的帮助,我已经搜索了我能想到的一切,但似乎没有解决方案。

【问题讨论】:

  • 一开始你做了什么改变来设置它?我很少使用 IB,但是如果您没有足够的约束来完全定义您的布局,那么固定框架是否会被设置?它只是从 IB 的大小中获取它们?如果您从自动布局问题菜单中“添加建议的约束”会发生什么?
  • 这正是发生的事情——结果我的所有约束在整个故事板中都被删除了。不知何故,我无意中删除了每一个。这很奇怪,因为我知道“删除视图中的所有约束”选项,但没有一个删除整个情节提要的选项。但是感谢您的意见,您的钱是对的。
  • 很高兴为您提供帮助。如果选中使用自动布局框然后取消选中,可能会发生这种情况?
  • 我敢打赌这正是发生的事情。

标签: xcode storyboard interface-builder


【解决方案1】:

我不确定是否有人会像我一样遇到这个问题-但答案是我的所有约束都被意外删除了该 Storyboard 并且没有约束,fixedFrame 属性会自动设置故事板已生成。

解决方案:删除导致此问题的提交,或再次手动布局所有内容。

【讨论】:

    【解决方案2】:

    你可以进去丢弃fixedFrame大块...

    或者我也发现清理、删除派生数据和重新启动 Xcode 可以解决问题。

    【讨论】:

      【解决方案3】:

      对我来说,启用/禁用大小类时会发生这种情况。

      我认为默认情况下应该取消选中此项,因为当您无意中更改当前类然后修改任何界面元素时,您往往会创建布局的“变体”。

      我对其进行了很多更改,因为通常的助理编辑器预览似乎随机不可用。

      总之,我现在尽可能避免使用类。完成基本布局后,我可以启用它以针对不同的屏幕尺寸进行最终调整。也就是说,如果自动布局约束还不够的话。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-03-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多