Xcode 8 GM种子版Storyboard布局问题

16

我尝试了XCode 8 GM版,发现在Storyboard中存在一个严重问题,无论您是使用自动布局还是禁用它,Xcode 8都会将包含在UIScrollView中的UIView弄乱,如下所示:

进入图片描述

进入图片描述

奇怪的是,如果我将嵌入的UIView调整大小到ScrollView中,然后退出Xcode并再次打开我的项目,那个UIView就会再次变大,毫无意义,每一次都是这样。

您是否遇到了相同的问题?

您认为Apple是否会在XCode 8的正式版本中修复此严重错误?

谢谢!

更新 不幸的是,即使是Xcode 8的官方版本也存在相同的问题 :(


1
我有同样的问题,你需要调整和重新调整所有视图... iPhone 6 的宽度为375个点。 - Josep Escobar
我已经通过代码以更简单的方式实现了它,通过将我的UIView声明为IBOutlet并将myView.frame = view.frame放置在viewDidLoad()中,这使得我的应用程序在所有设备上都能正常工作...但是Storyboard仍然会出现问题,这一点一点也不好,因为当我再次打开Xcode项目时,所有的视图都被移动和调整大小,所以如果我必须手动更新Storyboard中的某些内容,那就太乱了 :( 无论如何,我甚至不应该这样做,在Xcode 7.3上一切都运行得非常完美。 - Frank Eno
顺便问一下,你的意思是我应该将控制器保留在Storyboard中作为iPhone 6而不是iPhone 4s吗? - Frank Eno
1
我在使用Xcode 8 GM时遇到了同样的问题。我真的希望他们能在最终版本发布之前解决这个问题。起初,我以为这是由于从Xcode 7迁移过来的问题,但经过一些测试后,我发现这并不是这种情况。我使用Xcode 8创建了一个新的Storyboard,在重新打开时,我遇到了你刚才描述的相同问题。我提交了一个DTS和两个错误报告。你应该做同样的事情,以引起更多关注Xcode 8的这个问题。至少要提交一个错误报告。如果我本周收到苹果的回复,我会让你知道的。 - Mario A Guzman
2
我们已经向苹果提交了一个错误报告,希望他们能考虑到这不是一个小问题。 - Frank Eno
我刚刚升级到xcode8,现在因为这个问题感到非常痛苦。有没有办法回退到xcode7.3? - Chase Roberts
5个回答

10
如果您正在使用自动布局,则请逐个选择Main Storyboard中的UIViewController场景。点击更新框架,它将自动调整所选视图控制器的所有框架。

输入图像描述


1
无法解决,我已选择所有视图控制器,但“更新框架”被禁用,我选择了一个视图控制器,仍然被禁用。我该如何选择您提到的整个场景? - Frank Eno
@fvimagination,请查看我的回答中更新的内容。逐个选择单独的视图控制器场景,而不是整个主故事板。这样就可以正常工作了。 - ChenSmile
好的,我明白了,我需要勾选“使用自动布局”,然后添加所有约束并根据我的意愿进行调整。谢谢! - Frank Eno
@Imran 我们必须强制使用AutoLayout吗?请看我的问题 https://dev59.com/qVkS5IYBdhLWcg3wu4rL - Max
@Max 你正在使用尺寸类吗? - ChenSmile
@Imran 不,我没有使用尺寸类。 - Max

0
如果您正在为iOS 9.3或更早版本编译构建,则可以将构建选项更改为9.3x。
将构建选项更改为9.3:

enter image description here


好的,但是苹果在Xcode 8.1中修复了这个问题,所以你甚至不需要这样做 :) - Frank Eno

0
我找到的唯一解决方法是使用Size Inspector将视图控制器大小设置为“固定”。

我们的控制器具有模拟大小:固定,即使在Xcode官方版本上也是如此,结果相同 :( - Frank Eno

0

您可以从大小检查器中更改视图控制器的模拟大小。转到大小检查器并将模拟大小更改为自由形式。您可以根据需要设置视图的宽度和高度。要将屏幕查看为iOS 9中的样子,请将宽度和高度更改为600。 输入图像描述


好的,但这并不是一个合适的答案,Bug 仍然存在,当您重新打开项目时,您会发现滚动视图中的视图变得更大了,它没有保持您在其中放置的宽度/高度值。 - Frank Eno

-3

编辑:最终苹果公司通过Xcode 8.2.1修复了这个问题,干得好苹果开发者们 :)


为什么您不接受我的答案?它是您自己接受的,因为它对您和其他人都有效。这不符合StackOverflow的政策。 - ChenSmile
1
因为这不会解决Xcode 8上的错误,它仍然存在于那些不想使用Autolayout的人身上,苹果必须修复它,我们无法 - Frank Eno
你确定苹果已经解决了这个问题吗? - Mo Farhand
就我们在Xcode 8.1中所看到的,是的,我们现在可以在滚动视图中定位视图,而且当我们重新打开没有自动布局的项目时,它们不会出现混乱。 - Frank Eno

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