我使用this simple library使我的應用程序的前奏/演練內正確地定位(TL; DR,水平尋呼視圖控制器)。我目前有3頁設置。
在第3個演練頁面中,我有一個自定義的CALayer
,它在無限循環中爲一個圓圈動畫。我想將該圖層添加到UIView
以便在IB中通過我想要的方式佈局(通過自動佈局)。
在viewDidLoad
(用於第三頁)創建的圓層,並設置其幀是相同的,因爲我定位視圖,假設圓將是在同一地點的視圖:
for v:UIView in [view1!, view2!] {
var pulse = PulseLayer()
pulse.frame = v.frame
pulse.cornerRadius = v.frame.width/2.0
pulse.masksToBounds = false
view.layer.insertSublayer(pulse, above: v.layer)
}
問題
當我在iPhone 6模擬器中運行應用程序時,CALayers在其UIViews外顯示(見下文)。
有一件事我立刻注意到的是層沒有錯以同樣的方式 - 一個是它上面的觀點,另一個是向左。我假設這與視圖的約束有關,但我無法弄清楚如何解決它。
同樣令我困惑的是,當在iPhone 5模擬器上運行時,圖層顯示與我預期的完全相同(請參閱下文)。
我覺得我在這裏工作的誤解的一些概念。我怎樣才能讓定位表現得一樣呢? (像iPhone5的gif)
或者,有沒有更好的方法來做我想做的事情?