2016-09-16 114 views
32

=== 编辑 ========问题自动调整大小在Xcode 8

这个问题现在已经解决了的Xcode 8.1。我检查过。

================

我不知道自动布局是否正确。所以,我在所有应用程序中都使用了自动调整选项,这对我来说很好。我没有任何问题能够满足我的所有要求。

现在在Xcode 8中,我已经将我的旧swift项目迁移到swift 3.现在问题出现了。

Storyboard SS

看到的形象,我已经设置会自动调整大小,它没有在所有的设备问题,做工精细到现在为止,该项目是住在AppStore上,这样我就可以不显示用户界面或故事板。

现在我不得不在项目中做一些更新。所以我现在在Xcode 8中工作。但是,我的自动调整功能无法正常工作,因为所有控件都集中在一起,界面变得混乱。

Output image

而且问题仍然存在设备也。我也检查过模拟器和设备。但问题也在那里。任何建议和帮助将不胜感激。提前致谢。

编辑:

昨天只出现在运行时的问题,但今天的故事板也改变了看法这样的形象

Storyboard image

这意味着整个UI设计搞砸。这很奇怪。

+1

这里一样的... ...和它在Xcode中的错误...并没有与汽车的布局问题太http://stackoverflow.com/questions/39394316/xcode-8- gm-seed-storyboard-layout-issue –

+0

@ EICaptainv2.0确定,但有更新帧的答案。但在这种情况下该怎么办? – Max

+1

没有在这种情况下......因为我尝试了一切,但没有为我工作 –

回答

7

面对同样的问题。作为我的观点,当我们使用自动调整并仅将内部autoresizingMask设置为任何视图控制器时,会发生此问题。像,

enter image description here

如果我们还使用当时没有面临这个问题边界autoresizingMask。像,

enter image description here

我不知道这是Xcode中8的实际错误或在Xcode 8

所以删除此功能,最后我的建议是,我们需要在Xcode中使用自动布局8.

+1

这不是一个答案,请做出正确的答案,或者等待公众的解决方案 – pedrouan

+0

@pedrouan,看到我编辑的答案 –

+0

这也不是答案。解决方案和你最后一句话,如果它可能是解决方案,应该发布,而不是作为评论。 – pedrouan

1

更新问题似乎已经被固定在Xcode 8.1


有同样的问题,我发现这里的罪犯是UIScrollView元素。只需将所有内容移到滚动条外面,您就会发现一切正常,就像以前一样。

这意味着一个可能的解决方法是放置在一个普通的UIView你的滚动内容,然后在运行时的UIScrollView取代它,以编程方式。

+1

没有滚动视图有许多意见,也有同样的问题。和滚动查看只是没有问题。 – Max

+0

@Max你有没有试过把所有东西都移到滚动条的外面去看它是否有效?它为我工作。 – mojuba

+0

@mojuba是UIScrollView不在self.view,所以如果我对主视图采取另一种观点,它有什么可能会给出正确的结果 –

1

通过取消选中“自动调整子视图”,以滚动型

enter image description here

+0

但我需要根据屏幕大小调整它。 – Max

+0

它解决了这个问题,但我们必须处理不同的屏幕尺寸 – Hassy

+0

在我的情况下,对于不同的屏幕尺寸没有问题,不要删除滚动视图的自动调整大小的属性。 – Thippi

7

请尝试从厦门国际银行或情节串连图板取消自动尺寸解决。而在viewDidLoad设置[_scrollView setAutoresizesSubviews:YES];

尝试,如果这个解决您的问题

编辑:在故事板的情况下,取消选中Resize view from NIB选项。

+0

谢谢,这真的帮助我:) – andrew92b

+1

在我的情况下,它带来80%的用户界面的原始位置,但当我尝试纠正20%自己使用故事板,事情变得可怕...如何苹果船Xcode 8没有测试旧项目与它兼容 –

+0

这不适合我。 – gstream79

3

我不知道的故事板,但我已经找到了厦门国际银行文件的临时解决方案。在“工具”面板(右侧面板)中,选择“文件检查器”选项卡。在Interface Builder Document部分下,选择要在“XCode 7.x”中打开的文件。它会要求您确认您不想使用XCode 8功能,保存该文件并关闭它。

enter image description here

+1

它只会锁定故事板的时间。当您访问故事板时,它将使用8.0。 – Max

+0

是的,不幸的是,我每次编辑文件时都需要做同样的事情。 – Srdr

+1

这就是为什么这不是一个解决方案,它可以工作,直到我们得到完美和稳定的解决方案。 – Max

2

我也面临同样的问题了滚动在Xcode8

我有一个解决方案与滚动视图工作

先来简单的UIView,并添加您要添加​​的所有成分滚动视图,并给该组件自动调整大小

,并采取滚动视图一个编程和设置视图框架,也可以设置滚动视图contentSize并添加视图到滚动视图

像明智的,在我的情况下,我加入viewDidLoad中此代码为SWIFT项目

// add view to scrollview 

self.scrollObjForNextAppointment.contentSize = CGSize(width:self.scrollObjForNextAppointment.frame.size.width,height:410) 

self.viewForScrollContent.frame = CGRect(x:0,y:0,width:self.scrollObjForNextAppointment.frame.size.width,height:410) 

self.scrollObjForNextAppointment.addSubview(self.viewForScrollContent) 

这是为我工作,谢谢!

+0

故事板如何搞乱视图用户界面?每次我们需要设置它? – Max

+0

不需要每次设置,它只发生在scrollView中,而不是在视图中 –

+0

然后,如果我们使用scrollview代码,那么就不需要在storyboard中使用,这对于接口构建器来说并不合适。 – Max

0

主持人亲切这里重复删除了我的答案,所以看到我的答案在:

Autoresizing under iOS 10 doesn't work

针对最大,是的,调整一串子视图可以是一个痛苦。这就是为什么我建议在滚动视图中添加一个“内容视图”并将该视图中的所有现有子视图移动到该视图中。自动调整内容视图中的子视图,就像使用滚动视图一样,并将内容视图自动调整为滚动视图。

这是内容视图,你再调整内部viewDidLayoutSubviews。

再次,“内容视图”滚动视图结构的内部是非常标准的方式使用自动布局来获得自动调整大小滚动视图,所以它应该被认为是最好的做法。

该方法在这里描述...

https://spin.atomicobject.com/2014/03/05/uiscrollview-autolayout-ios/

我的方法似乎有点令人费解,但我可以在约15分钟与十几个场景和VC的修补故事板。使用自动布局重建所有内容需要花费很多很多时间。

+0

如果问题重复,请将其中一个标记为另一个的副本。 – ChrisF

2

Xcode 8 beta 2解决了这个问题!我已经登记了!

0

苹果刚刚推出了XCode 8.2,它为我解决了这个问题。我一直在使用XCode 7.3.1进行与8.1平行的界面设计,但现在我可以使用8.2而不会出现任何问题。

虽然故事板获得了帧宽度和高度的更新,以适应新的“查看为:”功能。虽然它似乎不影响在设备/模拟器上运行。

奇怪的是,它没有在XCode 8.2 release notes中注明。

原来的答复here