我有一個在iPhone和iPad上呈現的活動指標。在分屏模式下,iPad會呈現給視圖的任何一側。我會喜歡它在窗口的中間/中間顯示。如果我以這種方式在分屏模式下在縱向或者iPad上使用iPhone,它將始終位於屏幕的中心。Swift iOS - 如何將子視圖添加到窗口中心?
我該怎麼做?
我有一個在iPhone和iPad上呈現的活動指標。在分屏模式下,iPad會呈現給視圖的任何一側。我會喜歡它在窗口的中間/中間顯示。如果我以這種方式在分屏模式下在縱向或者iPad上使用iPhone,它將始終位於屏幕的中心。Swift iOS - 如何將子視圖添加到窗口中心?
我該怎麼做?
這很簡單。關閉自動調整大小的蒙版。將添加actInd添加到窗口,然後設置中心anchors。
actInd.translatesAutoresizingMaskIntoConstraints = false
window.addSubview(actInd)
actInd.centerXAnchor.constraint(equalTo: window.centerXAnchor).isActive = true
actInd.centerYAnchor.constraint(equalTo: window.centerYAnchor).isActive = true
@傑弗裏托馬斯謝謝!我實際上首先使用了這個(我沒有把它包含在問題中),但是我的錯誤導致了錯誤的深入。不管怎樣,謝謝! –
窗口是UIView
的子類。只需將它添加爲子視圖,就像您將視圖添加到其他視圖一樣。但請記住,該窗口在整個應用程序中共享,因此每次添加它都會消耗內存,並在完成作業後將其刪除。 如果要將其居中放置在窗口中,可以使用autoResizingMask
或爲其添加約束條件。
您需要的子視圖添加到根視圖控制器 – OverD
你措辭這個問題的方法,這聽起來像你希望擁有iPad的「窗口」或「屏幕」,在「拆分視圖」模式 - 顯示*兩個*應用程序 - 在這個「窗口」的中心有一個子視圖。換句話說,跨越兩個應用程序的子視圖?那不可能發生。 OTOH,如果你想要的是將一個子視圖集中在* your * app內部,只需設置兩個約束 - centerX和centerX錨定到它的超級視圖。 – dfd