簡體   English   中英

更改UIView的圖層類

[英]changing a UIView's layer class

根據Apple UIView編程指南,您只能使用layerClass方法來更改uiview的CA層,您必須重寫該方法才能在視圖初始化期間返回不同的類,並且這是唯一的方法:

創建視圖后,無法更改與視圖關聯的圖層類型。 因此,每個視圖都使用layerClass類方法來指定其圖層對象的類。

但是,我看過一些應用程序教程,它們直接將視圖的圖層分配給另一個創建的圖層,並且我一直認為這實際上是用另一個圖層類替換該圖層,並且效果很好。

這兩種方法會產生相同的結果嗎? 使用第二種方法不好嗎?

UIViewlayer屬性為只讀。 您不能分配給它。 我懷疑您是在看Mac OS X教程,而不是iOS教程。 在Mac OS X上,您可以使用NSView ,它具有可讀寫的layer屬性。

UIView類的類型為var

class var layerClass: Swift.AnyClass { get }

在您的視圖中覆蓋此var以更改iOS中的圖層類:

class MyView: UIView {
    override class var layerClass: Swift.AnyClass {
        return CATiledLayer.self
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM