swift - Extra CALayer's subLayers in iOS -
i have created new single view project written in swift , print self.view.layer.sublayers.count. number 2, haven't add layer or uiview.
override func viewdidload() { super.viewdidload() println(self.view.layer.sublayers.count) // additional setup after loading view, typically nib. } override func didreceivememorywarning() { super.didreceivememorywarning() // dispose of resources can recreated. } i wonder 2 layers are.
every uiview backed calayer, view hierarchy , layer hierarchy connected each other.
if print out subviews, see view has 2 subviews of type _uilayoutguide represent controller's toplayoutguide , bottomlayoutguide. every subview has layer that's 2 sublayers.
to prove it:
override func viewdidload() { super.viewdidload() print("top layout guide layer: \((self.toplayoutguide as! uiview).layer)"); print("bottom layout guide layer: \((self.bottomlayoutguide as! uiview).layer)"); print("sublayers: \(self.view.layer.sublayers)"); } prints:
top layout guide layer: <calayer: 0x7fef8ac28140> bottom layout guide layer: <calayer: 0x7fef8ac27bc0> sublayers: optional([<calayer: 0x7fef8ac28140>, <calayer: 0x7fef8ac27bc0>])
Comments
Post a Comment