Instance Property


A Boolean value indicating which drawing path the view takes when updating its contents.


@property(readonly) BOOL wantsUpdateLayer;


A view can update its contents using one of two techniques. It can draw those contents using its drawRect: method or it can modify its underlying layer object directly. During the view update cycle, each dirty view calls this method on itself to determine which technique to use. The default implementation of this method returns NO, which causes the view to use its drawRect: method.

If your view is layer-backed and updates itself by modifying its layer, override this property and change the return value to YES. Modifying the layer is significantly faster than redrawing the layer contents using drawRect:. If you override this property to be YES, you must also override the updateLayer method of your view and use it to make the changes to your layer. Do not modify your layer in your implementation of this property. Your implementation should return YES or NO quickly and not perform other tasks.

If the canDrawSubviewsIntoLayer property is set to YES, the view ignores the value returned by this method. Instead, the view always uses its drawRect: method to draw its content.

See Also

Managing the View’s Layer


A Boolean value indicating whether the view uses a layer as its backing store.


The Core Animation layer that the view uses as its backing store.

- makeBackingLayer

Creates the view’s backing layer.


The current layer contents placement policy.


The contents redraw policy for the view’s layer.


A Boolean value indicating whether the view incorporates content from its subviews into its own layer.


A Boolean value indicating whether the view’s layer uses Core Image filters and needs in-process rendering.


An optional layer delegate method for handling resolution changes.