Swift iOS - 如何将子视图添加到窗口中心?

问题描述:

我有一个在iPhone和iPad上呈现的活动指标。在分屏模式下,iPad会呈现给视图的任何一侧。我会喜欢它在窗口的中间/中间显示。如果我以这种方式在分屏模式下在纵向或者iPad上使用iPhone,它将始终位于屏幕的中心。Swift iOS - 如何将子视图添加到窗口中心?

我该怎么做?

​​
+0

您需要的子视图添加到根视图控制器 – OverD

+0

你措辞这个问题的方法,这听起来像你希望拥有iPad的“窗口”或“屏幕”,在“拆分视图”模式 - 显示*两个*应用程序 - 在这个“窗口”的中心有一个子视图。换句话说,跨越两个应用程序的子视图?那不可能发生。 OTOH,如果你想要的是将一个子视图集中在* your * app内部,只需设置两个约束 - centerX和centerX锚定到它的超级视图。 – dfd

这很简单。关闭自动调整大小的蒙版。将添加actInd添加到窗口,然后设置中心anchors

actInd.translatesAutoresizingMaskIntoConstraints = false 

window.addSubview(actInd) 
actInd.centerXAnchor.constraint(equalTo: window.centerXAnchor).isActive = true 
actInd.centerYAnchor.constraint(equalTo: window.centerYAnchor).isActive = true 
+0

@杰弗里托马斯谢谢!我实际上首先使用了这个(我没有把它包含在问题中),但是我的错误导致了错误的深入。不管怎样,谢谢! –

窗口是UIView的子类。只需将它添加为子视图,就像您将视图添加到其他视图一样。但请记住,该窗口在整个应用程序*享,因此每次添加它都会消耗内存,并在完成作业后将其删除。 如果要将其居中放置在窗口中,可以使用autoResizingMask或为其添加约束条件。