A CALayer has many additional properties that affect details of how it is drawn. Once again, all of these drawing details can, of course, be applied equally to a UIView; changing these properties of the UIView’s underlying layer changes how the view is drawn. Thus, these are effectively view features as well.
A layer can have a shadow, defined by its
shadowOffset properties. To make the layer draw a shadow, set the
shadowOpacity to a nonzero value. The shadow is normally based on the shape of the layer’s nontransparent region, but deriving this shape can be calculation-intensive (so much so that in early versions of iOS, layer shadows weren’t implemented). You can vastly improve performance by defining the shape yourself and assigning this shape as a CGPath to the
A layer can have a border (
borderWidth is drawn inward from the bounds, potentially covering some of the content unless you compensate.
A layer can be bounded by a rounded rectangle, by giving it a
cornerRadius greater than zero. If the layer has a
backgroundColor, that background is clipped to the shape of the rounded rectangle. If the layer has a border, the border has rounded corners too.
Like a UIView, a CALayer has a master
opacity property, and it has a
hidden property that can be set to take it out of the visible interface without actually removing it from its superlayer.
Like a UIView, a CALayer ...