我不知道为什么会这样。我在这里搜索但找不到任何答案。问题是我在 xcode 4 和 ios 6 中使用 StoryBoard 开发了一些屏幕,但现在我升级到 xcode 5 和 ios 7。但在升级所有标签后,文本字段的尺寸发生了变化。它们的 x、y 坐标也随之变化宽度和高度。它们都具有相同的 x,y 坐标(0,758)和宽度,高度为 0,0。我可以将它们带回手动编辑,但有太多字段需要这样做。反正有没有容易做到的?
1 回答
推荐
从您的问题描述中,您似乎看到了 iOS7 中深度系统更改的影响。
要验证您没有看到任何错误,请选择您的故事板或 xib 文件(这两者都适用)并打开助手编辑器。
接下来选择预览作为助理编辑器。这将向您显示故事板布局,就像它在您的设备上一样。
请注意,右下角的菜单将显示三件事:
- 正在预览的 iOS 版本
- 以不同方向显示控件的旋转控件
- 一个高度控件,用于显示视图在 3.5/4.0 高度时的外观
iOS7 预览
iOS6 预览
请记住,iOS7 控件的大小与所有其他早期版本的 iOS 不同,因此它们永远不会精确对齐。如果您的应用程序非常复杂,则需要重新检查自动布局的使用:有两种选择:查看自动布局指南(此处)或将其关闭(在文件属性检查器中)并使用旧的弹簧和支柱(自动调整大小)。
我建议彻底阅读 Apple 的转换指南(链接),以确保您了解更改对 UI 控件的影响。
Techtopia 有一篇关于 iOS7 自动布局的好文章,它在管理 UI 控件的大小和外观方面非常有用(链接)。
Apple 有一个我认为值得研究的示例应用程序,名为 UICatalog (链接)。我建议下载该应用程序并在您的模拟器上运行它以查看新控件的外观。请注意,该示例没有激活自动布局约束,如果您选择继续使用自动布局,您可能需要考虑使用 Visual Formatting Language (链接) 定义您的布局。
其他需要考虑的事项
Xcode 5 中早期构建的故事板存在一些错误,并且自动布局发生了重大变化,请确保下载绝对最新版本的 Xcode。
您可以尝试在 Xcode 中剪切和粘贴对象。
您应该验证版本之间的自动布局设置是否一致(在文件检查器中打开/关闭)。
检查您的自动布局约束没有在 Xcode 中生成警告或错误。如果是,您将需要更新所有约束。
确保在开始之前打开 git,以便可以将更改回滚到已知状态。
希望其中一些建议会有所帮助。