在升级到Xcode 8之后,这是我的一个屏幕之前和之后 .我所做的只是打开我的main.storyboard,从那里,我在手机上构建并运行我的应用程序 .在我的版本控制中,我可以看到Xcode正在对我的main.storyboard进行大量更改,就在我打开它之前 .每当我删除这些更改时,我都能看到我在Xcode 7.3.1中看到的内容 .但是,只要我用我的故事板重新打开界面构建器,我就会看到这些更改重新出现 .
我能在这做些什么吗?
我有一个类似的问题,一旦我将storyboard文件转换为Xcode8兼容,tableview图像就不会出现了 . 这看起来像Xcode8的一个错误,所以在发布错误修复之前,这是一个解决方法:
在Xcode 8中打开故事板并选择初始设备视图 . 像往常一样进行更改 .
完成更改后,选择故事板 - >文件检查器 - >打开 - >选择'Xcode 7.x' .
出现提示时选择'Save and Close'
您的故事板更改将被保存,您的故事板将像Xcode8之前一样运行 .
当您需要对故事板文件进行其他更改时,请再次执行以下步骤 .
XIB或Storyboard默认设置为旧版本7.x和保存并关闭 . 临时解决方案,但有效 . 完成保存并关闭后,请勿再次打开 . 否则再次需要从开始执行相同的步骤 .
呃同样的问题 . 我部分设法通过以下方式修复它(对于Xcode版本8.1(8B62))
在Storyboard的文档大纲中,我点击了每个场景,其中黄色箭头表示一些布局问题(屏幕截图上的数字1)
在此之后,对于每个有问题的场景,我不得不点击“更新帧”小图标(屏幕截图上的数字2),它修复了每个场景的所有布局问题 .
然而,在从Xcode7过渡到Xcode8之后,我的案例中的一个场景仍然处于哭泣状态 . 我必须通过调整约束或添加缺少的约束来手动修复它 .
Phew,不是XCode8和Storyboard的惊喜 . 如果您使用了AppCode编辑器,则不会出现此类问题,因为它不支持Storyboard; P.
祝好运!
Xcode 8.1 Beta 2解决了这个问题 . 请检查此下载链接
https://developer.apple.com/download/
请按照线程获取任何可能的解决方案:(我相信它适用于许多开发人员) .Xcode 8 GM seed Storyboard issueXcode 8 - Previous storyboards getting distorted
(我使用anyH anyW width 600)当Xcode更新为Xcode 8时,它改变了我所有的ViewControllers大小 . 结果所有的布局都被扭曲了 .目前我只看到3个问题的解决方案(我不相信很快就会等待修复) .
1.为每个Viewcontroller选择并通过 Update Frames 修复它 .
Update Frames
2.转到主ViewController Size Inspector -> Freeform -> 600 ,因为大多数控制器被推断它将改变所有控制器的大小 . (小心我要引入的新功能Apple的影响) .
Size Inspector -> Freeform -> 600
3.删除故事板中git的变化(我不建议它,因为Apple也插入了一些对Xcode很重要的更新) .
Xcode 8(WWDC16)中新的AutoLayout功能的附加链接:Making Apps Adaptive, Part 1
在我的情况下,Akhil Kateja建议的工作解决方案,我还需要重置主视图的宽度和高度:
1) Set View Size to Free Form
2) Reset Width and Height of the view to the original size:
最后保存,你就完成了 .
对我来说,解决方案只是单击UIViewController有问题,然后 Editor > Resolve Auto Layout Issues > All Views In ... > Updates Frames
Editor > Resolve Auto Layout Issues > All Views In ... > Updates Frames
它根据新选择的默认视图(在我的案例中为iPhone 7)重新排列视图以适应现有约束 .
另请注意:如果您收到像我一样的 Navigation Bar Misplaced View 警告,只需选择UINavigationController / UIViewController,然后选择 Attributes Inspector > Bar Visibility > Shows Navigation Bar - 将其关闭然后再打开 .
Attributes Inspector > Bar Visibility > Shows Navigation Bar
将View Size的View Size设置为Freeform对我来说很有用 . 它可以在属性检查器中的模拟度量 Headers 下找到 .
我遇到了同样的问题和我的视图约束 . 将以下代码放在 viewDidLoad() 函数中
self.view.layoutIfNeeded()
我选择了每个控制器并单击“更新帧”并修复了布局 .
来自@ david-truong(https://stackoverflow.com/a/39589860/1407528)的答案在我的情况下不起作用,所以如果你遇到同样的情况,试试这个:
从这里下载以前的Xcode 7.3.1:https://developer.apple.com/download/more/
撤消所有更改(如果您有代码)经理喜欢git . 如果你不't, you should ' https://githowto.com/')
使用Xcode 7.3.1打开项目 .
如果您将所有设备更新到iOS 10,则此版本的Xcode将无法将这些设备识别为兼容设备 . 所以,尝试这个技巧:
转至:/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设备
推送运行
注意:使用此技巧不能使用像Swift这样的新功能,但您应该能够加载和构建项目 .
希望这会有所帮助
当我将Xcode从7.3更新到Xcode 8并运行应用程序时,一些视图被完美显示但有些被扭曲 . 然后,我检查了nib文件,它促使我选择特定的设备大小,然后根据该显示笔尖设备大小不是 Any-Any(Xcode 7.3) . 所以所有的nibs文件都没有以正确的方式显示 .
Any-Any(Xcode 7.3)
我的解决方案工作: - 按下黄色箭头,如下图所示
它会提示弹出一个显示选项的选项
选择 Update Frames 与 Apply to all views in container checked.it将解决约90%的扭曲UI,其余的自动布局约束问题可以手动解决 .
Apply to all views in container
我使用Xcode Version 7.3.1解决了这个问题,你可以从apple developer portal下载.dmg文件 . 我在每个应用程序中都使用了Autoresizing,它对我很有用 . 只有在他们可以修复此错误的情况下,我才会更新到Xcode 8 .
在这里下载:https://developer.apple.com/services-account/download?path=/Developer_Tools/Xcode_7.3.1/Xcode_7.3.1.dmg
为了解决类似的问题,我将xib配置为Freeform(非推断)并将xib文件保存为Xcode 7.x兼容 . 我的案子中都需要这两个步骤 . 我希望有所帮助!
我注意到Xcode 8.2中的一个新按钮,(检查图像中的橙色圆圈) . 它会给你一些帮助 .
步骤:1 . 打开故事板并选择所需的任何设备2.只需选择View Controller 3.单击提到的按钮(如图像中所示)4 . 它将更新该视图控制器的框架,您可以继续
我没有找到比这更好的解决方案 . 如果找到,请回复 .
viewdidload中的更新约束和布局子视图解决了这个问题
- (void) viewDidLoad { [self.view updateConstraints]; [self.view layoutSubviews]; [super viewDidLoad]; }
16 回答
我有一个类似的问题,一旦我将storyboard文件转换为Xcode8兼容,tableview图像就不会出现了 . 这看起来像Xcode8的一个错误,所以在发布错误修复之前,这是一个解决方法:
在Xcode 8中打开故事板并选择初始设备视图 . 像往常一样进行更改 .
完成更改后,选择故事板 - >文件检查器 - >打开 - >选择'Xcode 7.x' .
出现提示时选择'Save and Close'
您的故事板更改将被保存,您的故事板将像Xcode8之前一样运行 .
当您需要对故事板文件进行其他更改时,请再次执行以下步骤 .
XIB或Storyboard默认设置为旧版本7.x和保存并关闭 . 临时解决方案,但有效 . 完成保存并关闭后,请勿再次打开 . 否则再次需要从开始执行相同的步骤 .
呃同样的问题 . 我部分设法通过以下方式修复它(对于Xcode版本8.1(8B62))
在Storyboard的文档大纲中,我点击了每个场景,其中黄色箭头表示一些布局问题(屏幕截图上的数字1)
在此之后,对于每个有问题的场景,我不得不点击“更新帧”小图标(屏幕截图上的数字2),它修复了每个场景的所有布局问题 .
然而,在从Xcode7过渡到Xcode8之后,我的案例中的一个场景仍然处于哭泣状态 . 我必须通过调整约束或添加缺少的约束来手动修复它 .
Phew,不是XCode8和Storyboard的惊喜 . 如果您使用了AppCode编辑器,则不会出现此类问题,因为它不支持Storyboard; P.
祝好运!
Xcode 8.1 Beta 2解决了这个问题 . 请检查此下载链接
https://developer.apple.com/download/
请按照线程获取任何可能的解决方案:(我相信它适用于许多开发人员) .
Xcode 8 GM seed Storyboard issue
Xcode 8 - Previous storyboards getting distorted
(我使用anyH anyW width 600)当Xcode更新为Xcode 8时,它改变了我所有的ViewControllers大小 . 结果所有的布局都被扭曲了 .
目前我只看到3个问题的解决方案(我不相信很快就会等待修复) .
1.为每个Viewcontroller选择并通过
Update Frames
修复它 .2.转到主ViewController
Size Inspector -> Freeform -> 600
,因为大多数控制器被推断它将改变所有控制器的大小 . (小心我要引入的新功能Apple的影响) .3.删除故事板中git的变化(我不建议它,因为Apple也插入了一些对Xcode很重要的更新) .
Xcode 8(WWDC16)中新的AutoLayout功能的附加链接:Making Apps Adaptive, Part 1
在我的情况下,Akhil Kateja建议的工作解决方案,我还需要重置主视图的宽度和高度:
1) Set View Size to Free Form
2) Reset Width and Height of the view to the original size:
最后保存,你就完成了 .
对我来说,解决方案只是单击UIViewController有问题,然后
Editor > Resolve Auto Layout Issues > All Views In ... > Updates Frames
它根据新选择的默认视图(在我的案例中为iPhone 7)重新排列视图以适应现有约束 .
另请注意:如果您收到像我一样的 Navigation Bar Misplaced View 警告,只需选择UINavigationController / UIViewController,然后选择
Attributes Inspector > Bar Visibility > Shows Navigation Bar
- 将其关闭然后再打开 .将View Size的View Size设置为Freeform对我来说很有用 . 它可以在属性检查器中的模拟度量 Headers 下找到 .
我遇到了同样的问题和我的视图约束 . 将以下代码放在 viewDidLoad() 函数中
我选择了每个控制器并单击“更新帧”并修复了布局 .
来自@ david-truong(https://stackoverflow.com/a/39589860/1407528)的答案在我的情况下不起作用,所以如果你遇到同样的情况,试试这个:
从这里下载以前的Xcode 7.3.1:https://developer.apple.com/download/more/
撤消所有更改(如果您有代码)经理喜欢git . 如果你不't, you should ' https://githowto.com/')
使用Xcode 7.3.1打开项目 .
如果您将所有设备更新到iOS 10,则此版本的Xcode将无法将这些设备识别为兼容设备 . 所以,尝试这个技巧:
转至:/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设备
推送运行
注意:使用此技巧不能使用像Swift这样的新功能,但您应该能够加载和构建项目 .
希望这会有所帮助
当我将Xcode从7.3更新到Xcode 8并运行应用程序时,一些视图被完美显示但有些被扭曲 . 然后,我检查了nib文件,它促使我选择特定的设备大小,然后根据该显示笔尖设备大小不是
Any-Any(Xcode 7.3)
. 所以所有的nibs文件都没有以正确的方式显示 .我的解决方案工作: - 按下黄色箭头,如下图所示
它会提示弹出一个显示选项的选项
选择
Update Frames
与Apply to all views in container
checked.it将解决约90%的扭曲UI,其余的自动布局约束问题可以手动解决 .我使用Xcode Version 7.3.1解决了这个问题,你可以从apple developer portal下载.dmg文件 . 我在每个应用程序中都使用了Autoresizing,它对我很有用 . 只有在他们可以修复此错误的情况下,我才会更新到Xcode 8 .
在这里下载:https://developer.apple.com/services-account/download?path=/Developer_Tools/Xcode_7.3.1/Xcode_7.3.1.dmg
为了解决类似的问题,我将xib配置为Freeform(非推断)并将xib文件保存为Xcode 7.x兼容 . 我的案子中都需要这两个步骤 . 我希望有所帮助!
我注意到Xcode 8.2中的一个新按钮,(检查图像中的橙色圆圈) . 它会给你一些帮助 .
步骤:1 . 打开故事板并选择所需的任何设备2.只需选择View Controller 3.单击提到的按钮(如图像中所示)4 . 它将更新该视图控制器的框架,您可以继续
我没有找到比这更好的解决方案 . 如果找到,请回复 .
viewdidload中的更新约束和布局子视图解决了这个问题