Ios 更新到Xcode 8后的布局问题
这是我升级到Xcode 8后的一个屏幕的前后对比。Ios 更新到Xcode 8后的布局问题,ios,xcode,autolayout,xcode8,ios10,Ios,Xcode,Autolayout,Xcode8,Ios10,这是我升级到Xcode 8后的一个屏幕的前后对比。我所做的就是打开我的main.storyboard,然后在那里,我在手机上构建并运行了我的应用。在我的版本控制中,我可以看到Xcode正在对我的main.storyboard做很多更改,只要我打开它每当我删除这些更改时,我都可以看到我在Xcode 7.3.1中看到的内容。但是,当我用我的故事板重新打开interface builder时,我看到这些更改重新就位。我可以在这里做些什么吗 在Xcode 8之前 更新到Xcode 8之后 当我将情节提
我所做的就是打开我的main.storyboard,然后在那里,我在手机上构建并运行了我的应用。
在我的版本控制中,我可以看到Xcode正在对我的main.storyboard做很多更改,只要我打开它
每当我删除这些更改时,我都可以看到我在Xcode 7.3.1中看到的内容。
但是,当我用我的故事板重新打开interface builder时,我看到这些更改重新就位。
我可以在这里做些什么吗 在Xcode 8之前 更新到Xcode 8之后
当我将情节提要文件转换为与Xcode8兼容时,tableview图像没有出现,我遇到了类似的问题。这看起来像是Xcode8的一个bug,所以在发布bug修复之前,这里有一个解决方法:
当您需要对序列图像板文件进行其他更改时,请再次执行以下步骤。XIB或序列图像板将默认设置为旧版本7.x,然后保存并关闭。临时解决方案,但有效。保存并关闭后,不要再次打开。否则,您需要从一开始就遵循相同的步骤。请按照线程寻找任何可能的解决方案:(我相信许多开发人员都会遇到这种情况)。
(我使用anyH anyW width 600)当Xcode更新为Xcode 8时,它改变了我所有的ViewController大小。因此,所有的布局都被扭曲了。
目前我只看到3种解决方案(我不相信会很快得到修复)。
1.查找每个Viewcontroller并通过更新帧来修复它 2.转到主视图控制器
Size Inspector->Freeform->600
,因为大多数控制器都被推断为会更改
所有这些。(注意苹果我想要的新功能的影响。)
介绍。)3.放弃git中对情节提要的更改(我不建议这样做,因为苹果还插入了一些更新,这些更新可能对 Xcode) Xcode 8(WWDC16)中新自动布局功能的附加链接:
将“视图大小”设置为“自由形式”(Freeform from)对我来说很有用。它可以在属性检查器中的“模拟度量”标题下找到。我也遇到了同样的问题,我通过强制更新控制器的视图约束解决了这个问题。将以下代码放入viewDidLoad()函数中
self.view.layoutIfNeeded()
在我的例子中,Akhil Kateja建议的解决方案有效,我还需要重置主视图的宽度和高度: 1)将视图大小设置为自由形式 2)将视图的宽度和高度重置为原始大小:
最后保存,您就完成了 我选择了每个控制器并单击“更新帧”,它修复了布局。Xcode 8.1 Beta 2解决了这个问题。请检查此下载链接
我使用Xcode 7.3.1版解决了这个问题。您可以从apple developer portal下载.dmg文件。我在每个应用程序中都使用了自动调整大小功能,它对我非常有用。 只有在他们能够修复这个bug的情况下,我才会更新到Xcode 8
在此处下载:更新viewdidload中的约束和布局子视图解决了此问题
- (void) viewDidLoad {
[self.view updateConstraints];
[self.view layoutSubviews];
[super viewDidLoad];
}
为了解决类似的问题,我将xib配置为自由形式(非推断),并将xib文件保存为Xcode 7.x兼容。在我的情况下,这两个步骤都是必需的。我希望这有帮助 呃,同样的问题。我通过以下方式部分修复了它(对于Xcode版本8.1(8B62)) 在故事板的文档大纲中,我单击了每个场景,其中的黄色箭头指示一些布局问题(屏幕截图上的数字1) 之后,对于每个有问题的场景,我必须单击“更新帧”小图标(屏幕截图上的数字2),它修复了每个场景的所有布局问题 然而,在我的案例中,有一个场景在从Xcode7转换到Xcode8后仍然处于哭泣状态。我必须通过调整约束或添加缺少的约束来手动修复它 呸,XCode8和故事板的惊喜可不好。如果您使用AppCode编辑器,就不会有这样的问题,因为它不支持故事板;P
祝你好运 来自@david truong()的答案在我的情况下不起作用,所以如果你也在我的情况下,试试这个:
- 从此处下载以前的Xcode 7.3.1:
- 撤消所有更改(如果您有像git这样的代码管理器。如果没有,则应该“”)
- 使用Xcode 7.3.1打开项目
- 转到:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
- 将与iOS 10或10.1相关的文件夹复制到:/Applications/Xcode 7.3.1.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
- 使用Xcode 7.3.1打开项目(如果已经打开了,请重新启动Xcode)
- 选择已连接的iOS 10+设备
- 推跑
Any(Xcode 7.3)
。所以所有的nibs文件都没有显示