2011-09-29 51 views
0
  • [myLayer setName:@"layer_1"]我設置了圖層的名稱。但我怎麼能從另一種方法得到它?有沒有像[self.view.layer.sublayers getLayerByName:@"layer_1"]
  • 如何動畫CALayer將其移動到另一個位置,並有很好的平滑效果?

回答

3

name財產主要用於一些佈局管理器的使用,除了在iOS上不存在佈局管理器,所以它所有的在這一點正在調試非常有用。至於動畫,如果您使用的是自己創建的CALayer,那麼當您更改屬性時,您將獲得隱式動畫。您可以使用CAAnimation子類設置顯式動畫,也可以使用CATransaction調整隱式類的一些參數。

如果您使用的圖層與UIView關聯,則會禁用所有隱式動畫。您仍然可以使用CAAnimation子類創建明確的子類,也可以使用UIView animation methods

+0

對於與'UIView'關聯的圖層,您的意思是'self.view.layer'吧?我用'CALayer * layer = [CALayer圖層]'創建了一個新圖層。動畫效果很好。爲了讓我的圖層在viewDidLoad方法中創建,我使用了一個實例變量'CALayer * mylayer',沒關係?謝謝。 –

+0

是的,從'view.layer'拉出的圖層會隱藏動畫。使用'[CALayer層]'創建的圖層將支持隱式動畫。 –