Ios 难以置信的是,对于容器视图,情节提要视图顺序不受尊重,修正了吗?

Ios 难以置信的是,对于容器视图,情节提要视图顺序不受尊重,修正了吗?,ios,swift,uistoryboard,uicontainerview,ios-autolayout,Ios,Swift,Uistoryboard,Uicontainerview,Ios Autolayout,看看这里 在iOS中,在情节提要的Inspector中放置兄弟视图的顺序当然会成为它们的z顺序 我很惊讶地发现,这个似乎不适用于任何此类容器视图 要进行测试,只需创建一个包含几个兄弟视图的场景;其中有两个是容器视图。跑更改容器视图控制器类中的某些内容(例如,添加ViewDidLoad、约束或打印语句),然后重试。容器视图将随机移动到顶部 我发现唯一的解决办法是:手动将它们按顺序排列,在视图中显示,这是胡说八道 1) 可能是我把事情搞砸了吧?可能是因为有一个设置(“尊重故事板顺序-即使是容器视图

看看这里

在iOS中,在情节提要的Inspector中放置兄弟视图的顺序当然会成为它们的z顺序

我很惊讶地发现,这个似乎不适用于任何此类容器视图

要进行测试,只需创建一个包含几个兄弟视图的场景;其中有两个是容器视图。跑更改容器视图控制器类中的某些内容(例如,添加ViewDidLoad、约束或打印语句),然后重试。容器视图将随机移动到顶部

我发现唯一的解决办法是:手动将它们按顺序排列,在视图中显示,这是胡说八道

1) 可能是我把事情搞砸了吧?可能是因为有一个设置(“尊重故事板顺序-即使是容器视图!”)

2) 我一直在绞尽脑汁想弄清楚如何“自动化”解决方案。加载时,您需要读取故事板中所有视图的顺序?然后在查看时“修复”它。狡猾

3) 也许有什么把戏。。在准备过程中说。。强制它们以正确的Z顺序排列,就像任何视图一样


修复。。。 我突然想到了一个可笑的解决办法

假设你的故事板有10个兄弟视图,其中4个是容器视图。(因此,它实际上不起作用,如本文所述。)

事实上,即使是这四个视图也只是(毫无意义的)普通UIView,它是容器视图的持有者。糟透了

那太奇怪了


如果将每个容器视图放在普通的
UIView
中,容器视图的所有边都固定到普通的
UIView
,会怎么样?我跟你赌5块钱就能修好它。

嗨,邓肯——没错,GMTA!:)注意我在结尾的“修复…”。是的,这很奇怪。仔细想一想,这肯定是和什么时候发生的事情有关。(我注意到,在杂项容器视图控制器中,通过稍微更改代码等,它可以更改“随机”顺序。)奇怪吧?除此之外,令人惊讶的是,大批愤怒的程序员没有注意到这一点(让我觉得这可能是我的错??)我猜你只注意到视图重叠时z顺序的变化,这会影响视图重叠的视觉方式,或者用户需要单击,而一个视图阻止了对另一个视图的单击。我想我以前没有用过这样的容器视图,所以我很幸运。再次感谢你当时看这个。我从来没有真正找到一个决定性的解释,整个事情-一些问题,你只是没有时间进入!正如你所说的,你建议的修复肯定会修复它(假设这是一个真正的问题,而不是我当时所做的某个人工制品)。干杯这可能是一种特殊情况,但通常当我遇到Z问题时,在情节提要中手动重新排序有问题的视图,然后将其放回需要的位置,这通常会解决问题。对,这实际上是一种特殊情况-如果是容器视图,则iOS系统有问题(我没有使用最新的iOS/Xcode检查)