NSShadow Class Reference

Inherits from
Conforms to
Framework
/System/Library/Frameworks/AppKit.framework
Availability
Available in iOS 6.0 and later.
Companion guide
Cocoa Drawing Guide
Declared in
NSShadow.h

Overview

An NSShadow object encapsulates the attributes used to create a drop shadow during drawing operations.

Shadows are always drawn in the default user coordinate space, regardless of any transformations applied to that space. This means that rotations, translations and other transformations of the current transformation matrix (the CTM) do not affect the resulting shadow. Another way to think about this is that changes to the CTM do not move or change the apparent position of the shadow’s light source.

There are two positional parameters for a shadow: an x-offset and a y-offset. These values are expressed using a single size data type (CGSize on iOS, NSSize on OS X) and using the units of the default user coordinate space. Positive values for these offsets extend up and to the right.

In addition to its positional parameters, a shadow also contains a blur radius, which specifies how much a drawn object's image mask is blurred before it is composited onto the destination. A value of 0 means there is no blur. Larger values give correspondingly larger amounts of blurring.

An NSShadow object may be used in one of two ways. First, it may be set, like a color or a font, in which case its attributes are applied to all content drawn thereafter—or at least until another shadow is applied or a previous graphics state is restored. Second, it may be used as the value for the NSShadowAttributeName text attribute, in which case it is applied to the glyphs corresponding to the characters bearing this attribute.

Adopted Protocols

NSCoding
NSCopying

Tasks

Managing a Shadow

Properties

shadowBlurRadius

The blur radius of the shadow.

@property (nonatomic, assign) CGFloat shadowBlurRadius
Discussion

This property contains the blur radius, as measured in the default user coordinate space. A value of 0 indicates no blur, while larger values produce correspondingly larger blurring. The default value is 0.

Availability
  • Available in iOS 6.0 and later.
Declared In
NSShadow.h

shadowColor

The color of the shadow.

@property (nonatomic, retain) id shadowColor
Discussion

The default shadow color is black with an alpha of 1/3. If you set this property to nil, the shadow is not drawn.

Availability
  • Available in iOS 6.0 and later.
Declared In
NSShadow.h

shadowOffset

The offset values of the shadow.

@property (nonatomic, assign) CGSize shadowOffset
Discussion

This property contains the horizontal and vertical offset values, specified using the width and height fields of the CGSize data type. These offsets are measured using the default user coordinate space and are not affected by custom transformations. This means that positive values always extend down and to the right from the user's perspective.

Availability
  • Available in iOS 6.0 and later.
Declared In
NSShadow.h