我使用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)
或者,有没有更好的方法来做我想做的事情?