故事板UI没有更新,而在故事板上工作时。

6
我在使用Xcode 9.2和Swift 4更新了一个之前用Xcode 8.3.2和Swift 3创建的项目。尽管我已经做了其他更改并且模拟器和设备中也可以正常运行,但我现在遇到了一个非常奇怪的问题。
主要问题是: - 当我打开storyboard时它可以正常加载,但如果我在任何一个视图控制器(Interface builder)中进行更改时,在退出storyboard并重新加载后该更改不会反映在Interface builder中,因此每次我都必须这样操作才能看到我所做的任何更改。
我已经尝试在整个堆栈中搜索,并查看了许多其他链接,但仍然找不到解决方案。请告诉我有什么解决方案或建议。
注意:我不能使用新的storyboard,因为我已经设计了太多屏幕。

1
这是因为你的主Storyboard中有许多VC,保存时Xcode失败了。需要管理项目,创建单独的Storyboard文件,并将一些VC放入新的Storyboard中。我曾经遇到过同样的问题,我通过创建新的Storyboard来解决它,即在新的Storyboard中承载一些主Storyboard的负荷。 - iOS Geek
@iOSGeek 感谢您的评论,我知道那些解决方案,但是我无法将所有视图控制器移动到新的故事板中,因为有太多屏幕,大约40个。 - Ravi Panchal
只需修改那些需要修改的VC,当我在单个Storyboard中有许多VC时,我遇到了这个问题,否则在您编辑时尝试在Activity Monitor中执行以下操作:停止名为ibtoold的进程,当您完成某些更改时,请刷新Storyboard,这次不要停止ibtoold,希望能有所帮助。 - iOS Geek
@iOSGeek 我的活动监视器中没有显示 ibtoold。 - Ravi Panchal
如果你有大约40个Storyboard,建议使用多个Storyboard来处理。多个Storyboard可以更加轻松快捷地处理。在一个Storyboard中有很多视图控制器可能无法更新。请检查编辑器中的“刷新所有视图”是否适用于你。 - jay patel
4个回答

3

我遇到了同样的问题。请按照以下步骤操作。

  1. 进入>项目目录。

  2. 选择ProjectName.xcodeproj,根据下面的示例图像显示其包内容。

enter image description here

  1. 删除xcuserdata文件夹,如下图所示。

enter image description here

从项目中删除派生数据。 只需清理和构建...愉快的编码...

尝试过了,但问题仍然存在。还有其他解决方案吗? - Ravi Panchal

1

没有一个答案解释为什么这一直发生在我身上。事实证明,我的问题是打开iCloud桌面同步并将项目目录放在桌面上。将项目移动到下载文件夹或关闭iCloud桌面同步似乎已经解决了这个问题。


你是对的,因为这个问题并不常见,所以我发布了我的解决方案,希望能帮助其他人。感谢你发布你的答案。 - Ravi Panchal

0

刷新Storyboard

  1. 打开Storyboard
  2. 点击编辑器
  3. 刷新所有视图

希望这能帮到你


0
感谢您的回答和评论,我找到了问题,以下是描述。
我使用了Google Maps Pod,因此该类的IB Designable使用的视图未呈现并在Storyboard中创建问题。
这是我的解决方法:暂时删除GMSMapview的引用,并在我的工作后开始工作,然后重新引用它。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接