Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 更新到Xcode 8后的布局问题_Ios_Xcode_Autolayout_Xcode8_Ios10 - Fatal编程技术网

Ios 更新到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之后 当我将情节提

这是我升级到Xcode 8后的一个屏幕的前后对比。
我所做的就是打开我的main.storyboard,然后在那里,我在手机上构建并运行了我的应用。
在我的版本控制中,我可以看到Xcode正在对我的main.storyboard做很多更改,只要我打开它
每当我删除这些更改时,我都可以看到我在Xcode 7.3.1中看到的内容。
但是,当我用我的故事板重新打开interface builder时,我看到这些更改重新就位。

我可以在这里做些什么吗

在Xcode 8之前

更新到Xcode 8之后

当我将情节提要文件转换为与Xcode8兼容时,tableview图像没有出现,我遇到了类似的问题。这看起来像是Xcode8的一个bug,所以在发布bug修复之前,这里有一个解决方法:

  • 在Xcode 8中打开情节提要,然后选择初始设备视图。像平常一样进行更改
  • 完成更改后,选择情节提要->文件检查器->在中打开->选择“Xcode 7.x”
  • 出现提示时选择“保存并关闭”
  • 您的情节提要更改将被保存,并且您的情节提要将像在Xcode8之前一样工作

  • 当您需要对序列图像板文件进行其他更改时,请再次执行以下步骤。

    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打开项目
    如果您将所有设备更新为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文件,它提示我选择特定的设备大小,然后根据该设备大小显示nib,该设备大小当然不是
    Any(Xcode 7.3)
    。所以所有的nibs文件都没有显示