Mac Developer Library

Developer

AppKit Framework Reference NSWindow Class Reference

Options
Deployment Target:

On This Page
Language:

NSWindow

Inheritance


Conforms To


Import Statement


Swift

import AppKit

Objective-C

@import AppKit;

Availability


Available in OS X v10.0 and later.

The NSWindow class defines objects (known as windows) that manage and coordinate the windows an application displays on the screen. A single NSWindow object corresponds to at most one onscreen window. The two principal functions of a window are to provide an area in which views can be placed and to accept and distribute, to the appropriate views, events the user instigates through actions with the mouse and keyboard.

  • Initializes the window with the specified values.

    Declaration

    Swift

    init(contentRect contentRect: NSRect, styleMask windowStyle: Int, backing bufferingType: NSBackingStoreType, defer deferCreation: Bool)

    Objective-C

    - (instancetype)initWithContentRect:(NSRect)contentRect styleMask:(NSUInteger)windowStyle backing:(NSBackingStoreType)bufferingType defer:(BOOL)deferCreation

    Parameters

    contentRect

    Origin and size of the window’s content area in screen coordinates. Note that the window server limits window position coordinates to ±16,000 and sizes to 10,000.

    windowStyle

    The window’s style. It can be NSBorderlessWindowMask, or it can contain any of the options described in Window Style Masks, combined using the C bitwise OR operator. Borderless windows display none of the usual peripheral elements and are generally useful only for display or caching purposes; you should normally not need to create them. Also, note that a window’s style mask should include NSTitledWindowMask if it includes any of the others.

    bufferingType

    Specifies how the drawing done in the window is buffered by the window device, and possible values are described in NSBackingStoreType—Buffered Window Drawing.

    deferCreation

    Specifies whether the window server creates a window device for the window immediately. When YEStrue, the window server defers creating the window device until the window is moved onscreen. All display messages sent to the window or its views are postponed until the window is created, just before it’s moved onscreen.

    Return Value

    The initialized window.

    Discussion

    This method is the designated initializer for the NSWindow class.

    Deferring the creation of the window improves launch time and minimizes the virtual memory load on the window server.

    The new window creates a view to be its default content view. You can replace it with your own object by using the setContentView: method.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Initializes an allocated window with the specified values.

    Declaration

    Swift

    convenience init(contentRect contentRect: NSRect, styleMask windowStyle: Int, backing bufferingType: NSBackingStoreType, defer deferCreation: Bool, screen screen: NSScreen?)

    Objective-C

    - (instancetype)initWithContentRect:(NSRect)contentRect styleMask:(NSUInteger)windowStyle backing:(NSBackingStoreType)bufferingType defer:(BOOL)deferCreation screen:(NSScreen *)screen

    Parameters

    contentRect

    Origin and size of the window’s content area in screen coordinates. The origin is relative to the origin of the provided screen. Note that the window server limits window position coordinates to ±16,000 and sizes to 10,000.

    windowStyle

    The window’s style. It can be NSBorderlessWindowMask, or it can contain any of the options described in Window Style Masks, combined using the C bitwise OR operator. Borderless windows display none of the usual peripheral elements and are generally useful only for display or caching purposes; you should not usually need to create them. Also, note that a window’s style mask should include NSTitledWindowMask if it includes any of the others.

    bufferingType

    Specifies how the drawing done in the window is buffered by the window device; possible values are described in NSBackingStoreType—Buffered Window Drawing.

    deferCreation

    Specifies whether the window server creates a window device for the window immediately. When YEStrue, the window server defers creating the window device until the window is moved onscreen. All display messages sent to the window or its views are postponed until the window is created, just before it’s moved onscreen.

    screen

    Specifies the screen on which the window is positioned. The content rectangle is positioned relative to the bottom-left corner of screen. When nil, the content rectangle is positioned relative to (0, 0), which is the origin of the primary screen.

    Return Value

    The initialized window.

    Discussion

    The primary screen is the one that contains the current key window or, if there is no key window, the one that contains the main menu. If there’s neither a key window nor a main menu (if there’s no active application), the primary screen is the one where the origin of the screen coordinate system is located.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Returns the window’s style mask, indicating what kinds of control items it displays.

    Declaration

    Swift

    var styleMask: Int

    Objective-C

    @property NSUInteger styleMask

    Return Value

    The window’s style mask.

    Discussion

    See the information about the style mask in Window Style Masks.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Sets the window’s style mask to the given value.

    Declaration

    Objective-C

    - (void)setStyleMask:(NSUInteger)styleMask

    Parameters

    styleMask

    The new style mask value. See Window Style Masks for possible values.

    Discussion

    The valid style mask values are the same values acceptable for use in initWithContentRect:styleMask:backing:defer:. Some style mask changes cause the view hierarchy to be rebuilt.

    Import Statement

    Objective-C

    @import AppKit;

    Availability

    Available in OS X v10.6 and later.

    See Also

    – styleMask

  • Taken the window into or out of fullscreen mode,

    Declaration

    Swift

    func toggleFullScreen(_ sender: AnyObject?)

    Objective-C

    - (void)toggleFullScreen:(id)sender

    Parameters

    sender

    The object that sent the message.

    Discussion

    If an application supports fullscreen, it should add a menu item to the View menu with toggleFullScreen: as the action, and nil as the target.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.7 and later.

  • Indicates whether the window is able to receive keyboard and mouse events even when some other window is being run modally.

    Declaration

    Swift

    var worksWhenModal: Bool { get }

    Objective-C

    @property(readonly) BOOL worksWhenModal

    Return Value

    YEStrue if the window is able to receive keyboard and mouse events even when some other window is being run modally; otherwise, NOfalse.

    Discussion

    The NSWindow implementation of this method returns NOfalse. Only subclasses of NSPanel should override this default.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

    See Also

    setWorksWhenModal: (NSPanel)

  • Returns the window’s alpha value.

    Declaration

    Swift

    var alphaValue: CGFloat

    Objective-C

    @property CGFloat alphaValue

    Return Value

    The window’s alpha value.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Applies a given alpha value to the entire window.

    Declaration

    Swift

    var alphaValue: CGFloat

    Objective-C

    @property CGFloat alphaValue

    Parameters

    windowAlpha

    The alpha value to apply.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

    See Also

    – alphaValue

  • Returns the color of the window’s background.

    Declaration

    Swift

    @NSCopying var backgroundColor: NSColor!

    Objective-C

    @property(copy) NSColor *backgroundColor

    Return Value

    The window’s background color.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Sets the window’s background color to the given color.

    Declaration

    Swift

    @NSCopying var backgroundColor: NSColor!

    Objective-C

    @property(copy) NSColor *backgroundColor

    Parameters

    color

    Color to set as the window’s background color.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Returns the window’s color space.

    Declaration

    Swift

    var colorSpace: NSColorSpace?

    Objective-C

    @property(strong) NSColorSpace *colorSpace

    Return Value

    The color space. Will return nil If the window does not have a backing store, and is off-screen.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.6 and later.

  • Sets the window’s color space.

    Declaration

    Swift

    var colorSpace: NSColorSpace?

    Objective-C

    @property(strong) NSColorSpace *colorSpace

    Parameters

    colorSpace

    The color space to set.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.6 and later.

    See Also

    – colorSpace

  • Returns the window’s content view, the highest accessible NSView object in the window’s view hierarchy.

    Declaration

    Swift

    var contentView: AnyObject

    Objective-C

    @property(strong) id contentView

    Return Value

    The content view.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Makes a given view the window’s content view.

    Declaration

    Swift

    var contentView: AnyObject

    Objective-C

    @property(strong) id contentView

    Parameters

    view

    View that is to become the window’s content view.

    Discussion

    The window retains the new content view and owns it thereafter. The view object is resized to fit precisely within the content area of the window. You can modify the content view’s coordinate system through its bounds rectangle, but can’t alter its frame rectangle (that is, its size or location) directly.

    This method causes the old content view to be released; if you plan to reuse it, be sure to retain it before sending this message and to release it as appropriate when adding it to another NSWindow object or NSView.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Indicates whether the window can be hidden when its application becomes hidden (during execution of the NSApplication hide: method).

    Declaration

    Swift

    var canHide: Bool

    Objective-C

    @property BOOL canHide

    Return Value

    YEStrue if the window can be hidden when its application becomes hidden; otherwise, NOfalse.

    Discussion

    The default is YEStrue.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

    See Also

    – setCanHide:

  • Specifies whether the window can be hidden when its application becomes hidden (during execution of the NSApplication hide: method).

    Declaration

    Swift

    var canHide: Bool

    Objective-C

    @property BOOL canHide

    Parameters

    canHide

    If YEStrue, the window can be hidden when its application becomes hidden; if NOfalse, it cannot.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

    See Also

    – canHide

  • Indicates whether the window can be visible on all spaces or on only one space at a time.

    Deprecation Statement

    Use setCollectionBehavior: instead.

    Declaration

    Objective-C

    - (BOOL)canBeVisibleOnAllSpaces

    Return Value

    YEStrue when the window can be visible on all spaces; NOfalse when it can be visible on only one space at a time.

    Discussion

    The default is NOfalse.

    Import Statement

    Objective-C

    @import AppKit;

    Availability

    Available in OS X v10.5 and later.

    Deprecated in OS X v10.5.

  • Specifies whether the window can be visible on all spaces or on only one space at a time.

    Deprecation Statement

    Use collectionBehavior instead.

    Declaration

    Objective-C

    - (void)setCanBeVisibleOnAllSpaces:(BOOL)flag

    Parameters

    flag

    YEStrue specifies that the window can be visible on all spaces; NOfalse specifies that the window can be visible on only one space at a time.

    Import Statement

    Objective-C

    @import AppKit;

    Availability

    Available in OS X v10.5 and later.

    Deprecated in OS X v10.5.

  • isOnActiveSpace - isOnActiveSpace Available in OS X v10.6 through OS X v10.9

    Indicates whether the window is on the currently active space.

    Declaration

    Objective-C

    - (BOOL)isOnActiveSpace

    Return Value

    YEStrue if the window is on the currently active space; otherwise, NOfalse.

    Discussion

    For visible windows, this method indicates whether the window is currently visible on the active space. For non-visible windows, it indicates whether ordering the window onscreen would cause it to be on the active space.

    Import Statement

    Objective-C

    @import AppKit;

    Availability

    Available in OS X v10.6 through OS X v10.9.

  • Indicates whether the window is removed from the screen when its application becomes inactive.

    Declaration

    Swift

    var hidesOnDeactivate: Bool

    Objective-C

    @property BOOL hidesOnDeactivate

    Return Value

    YEStrue if the window is removed from the screen when its application is deactivated; NOfalse if it remains onscreen.

    Discussion

    The default for NSWindow is NOfalse; the default for NSPanel is YEStrue.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Specifies whether the window is removed from the screen when the application is inactive.

    Declaration

    Swift

    var hidesOnDeactivate: Bool

    Objective-C

    @property BOOL hidesOnDeactivate

    Parameters

    hideOnDeactivate
    • YEStrue specifies that the window is to be hidden (taken out of the screen list) when the application stops being the active application

    • NOfalse specifies that the window is to remain onscreen when the application becomes inactive.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Identifies the window’s behavior in window collections.

    Declaration

    Swift

    var collectionBehavior: NSWindowCollectionBehavior

    Objective-C

    @property NSWindowCollectionBehavior collectionBehavior

    Return Value

    The collection behavior identifier.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.5 and later.

  • Specifies the window’s behavior in window collections.

    Declaration

    Swift

    var collectionBehavior: NSWindowCollectionBehavior

    Objective-C

    @property NSWindowCollectionBehavior collectionBehavior

    Parameters

    collectionBehavior

    The collection behavior identifier to set.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.5 and later.

  • isOpaque - isOpaque Available in OS X v10.0 through OS X v10.9

    Indicates whether the window is opaque.

    Declaration

    Objective-C

    - (BOOL)isOpaque

    Return Value

    YEStrue when the window is opaque; otherwise, NOfalse.

    Discussion

    The default is YEStrue.

    Import Statement

    Objective-C

    @import AppKit;

    Availability

    Available in OS X v10.0 through OS X v10.9.

    See Also

    – setOpaque:

  • Specifies whether the window is opaque.

    Declaration

    Swift

    var opaque: Bool

    Objective-C

    @property(getter=isOpaque) BOOL opaque

    Parameters

    opaque

    If YEStrue, the window is opaque; if NOfalse, it is not.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

    See Also

    – isOpaque

  • Indicates whether the window has a shadow.

    Declaration

    Swift

    var hasShadow: Bool

    Objective-C

    @property BOOL hasShadow

    Return Value

    YEStrue when the window has a shadow; otherwise, NOfalse.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Specifies whether the window has a shadow.

    Declaration

    Swift

    var hasShadow: Bool

    Objective-C

    @property BOOL hasShadow

    Parameters

    hasShadow

    If YEStrue, the window has a shadow; if NOfalse, it does not.

    Discussion

    If the shadow setting changes, the window shadow is invalidated, forcing the window shadow to be recomputed.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Invalidates the window shadow so that it is recomputed based on the current window shape.

    Declaration

    Swift

    func invalidateShadow()

    Objective-C

    - (void)invalidateShadow

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.2 and later.

  • Indicates whether the window calculates the thickness of a given border automatically.

    Declaration

    Swift

    func autorecalculatesContentBorderThicknessForEdge(_ edge: NSRectEdge) -> Bool

    Objective-C

    - (BOOL)autorecalculatesContentBorderThicknessForEdge:(NSRectEdge)edge

    Parameters

    edge

    The border to check:

    • NSMaxYEdge: Top border.

    • NSMinYEdge: Bottom border.

    Return Value

    YEStrue when the window auto-recalculates the given border’s thickness; otherwise, NOfalse.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.5 and later.

  • Specifies whether the window calculates the thickness of a given border automatically.

    Declaration

    Swift

    func setAutorecalculatesContentBorderThickness(_ autorecalculateContentBorderThickness: Bool, forEdge edge: NSRectEdge)

    Objective-C

    - (void)setAutorecalculatesContentBorderThickness:(BOOL)autorecalculateContentBorderThickness forEdge:(NSRectEdge)edge

    Parameters

    autorecalculateContentBorderThickness

    If YEStrue, the window calculates the thickness of the edge automatically; if NOfalse, it does not.

    edge

    The border to set auto-recalculation on or off:

    • NSMaxYEdge: Top border.

    • NSMinYEdge: Bottom border.

    Special Considerations

    Turning off a border’s auto-recalculation status sets its border thickness to 0.0.

    In a nontextured window calling setAutorecalculatesContentBorderThickness:forEdge: passing NSMaxYEdge will raise an exception (in a nontextured window, it’s only valid to set the content border thickness of the bottom edge). It is only valid to set the content border thickness of the top edge in a textured window.

    Typically, if you call setContentBorderThickness:forEdge:, you should also call setAutorecalculatesContentBorderThickness:NO forEdge:.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.5 and later.

  • Indicates the thickness of a given border of the window.

    Declaration

    Swift

    func contentBorderThicknessForEdge(_ edge: NSRectEdge) -> CGFloat

    Objective-C

    - (CGFloat)contentBorderThicknessForEdge:(NSRectEdge)edge

    Parameters

    edge

    The border whose thickness to get:

    • NSMaxYEdge: Top border.

    • NSMinYEdge: Bottom border.

    Return Value

    Thickness of the given border, in points.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.5 and later.

  • Specifies the thickness of a given border of the window.

    Declaration

    Swift

    func setContentBorderThickness(_ borderThickness: CGFloat, forEdge edge: NSRectEdge)

    Objective-C

    - (void)setContentBorderThickness:(CGFloat)borderThickness forEdge:(NSRectEdge)edge

    Parameters

    borderThickness

    The thickness for edge, in points.

    edge

    The border whose thickness to set:

    • NSMaxYEdge: Top border.

    • NSMinYEdge: Bottom border.

    Discussion

    In a nontextured window calling setContentBorderThickness:forEdge: passing NSMaxYEdge will raise an exception (in a nontextured window, it’s only valid to set the content border thickness of the bottom edge). It is only valid to set the content border thickness of the top edge in a textured window.

    Typically, if you call setContentBorderThickness:forEdge:, you should also call setAutorecalculatesContentBorderThickness:NO forEdge:.

    The contentBorder does not include the titlebar or toolbar, so a textured window that just wants the gradient in the titlebar and toolbar should have a contentBorderThickness of 0 for NSMaxYEdge.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.5 and later.

  • Returns the window’s delegate.

    Declaration

    Swift

    unowned(unsafe) var delegate: NSWindowDelegate?

    Objective-C

    @property(assign) id<NSWindowDelegate> delegate

    Return Value

    The window’s delegate, or nil if it doesn’t have a delegate.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Sets the window’s delegate to a given object or removes an existing delegate.

    Declaration

    Swift

    unowned(unsafe) var delegate: NSWindowDelegate?

    Objective-C

    @property(assign) id<NSWindowDelegate> delegate

    Parameters

    delegate

    The delegate for the window. Pass nil to remove an existing delegate.

    Discussion

    An NSWindow object’s delegate is inserted in the responder chain after the window itself and is informed of various actions by the window through delegation messages.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Indicates whether the window prevents application termination when modal.

    Declaration

    Swift

    var preventsApplicationTerminationWhenModal: Bool

    Objective-C

    @property BOOL preventsApplicationTerminationWhenModal

    Return Value

    YEStrue if the window prevents application termination when modal; otherwise, NOfalse.

    Discussion

    The default value is YEStrue.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.6 and later.

  • Specifies whether the window prevents application termination when modal.

    Declaration

    Swift

    var preventsApplicationTerminationWhenModal: Bool

    Objective-C

    @property BOOL preventsApplicationTerminationWhenModal

    Parameters

    flag

    If YEStrue, the window will prevent application termination when modal; if NOfalse, it will not.

    Discussion

    Normally, application termination is prevented when a modal window or sheet is open, without consulting the application delegate. Some windows may wish not to prevent termination, however. Calling this method with an argument of NOfalse overrides the default behavior and allows termination to proceed even if the window is open, either through the sudden termination path if enabled, or after consulting the application delegate.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.6 and later.

  • Returns the default depth limit for instances of NSWindow.

    Declaration

    Swift

    class func defaultDepthLimit() -> NSWindowDepth

    Objective-C

    + (NSWindowDepth)defaultDepthLimit

    Return Value

    The default depth limit for instances of NSWindow, determined by the depth of the deepest screen level available to the window server.

    Discussion

    The value returned can be examined with the Application Kit functions NSPlanarFromDepth, NSColorSpaceFromDepth, NSBitsPerSampleFromDepth, and NSBitsPerPixelFromDepth.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Provides the window number of the window’s window device.

    Declaration

    Swift

    var windowNumber: Int { get }

    Objective-C

    @property(readonly) NSInteger windowNumber

    Return Value

    The window number of the window’s window device.

    Discussion

    Each window device in an application is given a unique window number—note that this isn’t the same as the global window number assigned by the window server. This number can be used to identify the window device with the orderWindow:relativeTo: method and in the Application Kit function NSWindowList. .

    If the window doesn’t have a window device, the value returned will be equal to or less than 0.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Returns the window numbers for all visible windows satisfying the specified options.

    Declaration

    Swift

    class func windowNumbersWithOptions(_ options: NSWindowNumberListOptions) -> [AnyObject]?

    Objective-C

    + (NSArray *)windowNumbersWithOptions:(NSWindowNumberListOptions)options

    Parameters

    options

    The possible options are specified in “NSWindowNumberListOptions”.

    Return Value

    An array of window numbers for all visible windows satisfying the specified options. (Windows on the active space are returned in z-order; that is, front to back.)

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.6 and later.

  • gState() - gState (OS X v10.10)

    Returns the window’s graphics state object.

    Declaration

    Swift

    func gState() -> Int

    Objective-C

    - (NSInteger)gState

    Return Value

    The graphics state object associated with the window.

    Discussion

    This graphics state is used by default for all NSView objects in the window’s view hierarchy, but individual views can be made to use their own with the NSView method allocateGState.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.10.

  • Indicates whether the window has a depth limit that allows it to store color values.

    Declaration

    Swift

    func canStoreColor() -> Bool

    Objective-C

    - (BOOL)canStoreColor

    Return Value

    YEStrue when the window’s depth limit allows it to store color values; otherwise, NOfalse.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.10.

    See Also

    – depthLimit
    shouldDrawColor (NSView)

  • Returns a dictionary containing information about the window’s resolution.

    Declaration

    Swift

    var deviceDescription: [NSObject : AnyObject] { get }

    Objective-C

    @property(readonly, copy) NSDictionary *deviceDescription

    Return Value

    A dictionary containing resolution information about the window, such as color, depth, and so on.

    Discussion

    This information is useful for tuning images and colors to the window’s display capabilities. The contents of the dictionary are described in “Display Device—Descriptions”.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Indicates whether the window can be displayed at the login window. Default: NOfalse.

    Declaration

    Swift

    var canBecomeVisibleWithoutLogin: Bool

    Objective-C

    @property BOOL canBecomeVisibleWithoutLogin

    Return Value

    YEStrue when the window can be displayed at the login window; otherwise, NOfalse.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.5 and later.

  • Specifies whether the window can be displayed at the login window.

    Declaration

    Swift

    var canBecomeVisibleWithoutLogin: Bool

    Objective-C

    @property BOOL canBecomeVisibleWithoutLogin

    Parameters

    flag

    YEStrue to allow the window to be displayed at the login window; NOfalse to prevent this behavior.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.5 and later.

  • Indicates the level of access other processes have to the window’s content.

    Declaration

    Swift

    var sharingType: NSWindowSharingType

    Objective-C

    @property NSWindowSharingType sharingType

    Return Value

    The sharing level of the window’s content. See NSWindowSharingType for possible values.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.5 and later.

  • Specifies the level of access other processes have to the window’s content.

    Declaration

    Swift

    var sharingType: NSWindowSharingType

    Objective-C

    @property NSWindowSharingType sharingType

    Parameters

    sharingType

    The sharing level of the window’s content. See NSWindowSharingType for possible values.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.5 and later.

    See Also

    – sharingType

  • Returns the window’s backing store type.

    Declaration

    Swift

    var backingType: NSBackingStoreType

    Objective-C

    @property NSBackingStoreType backingType

    Return Value

    The backing store type.

    Discussion

    The possible return values are described in NSBackingStoreType—Buffered Window Drawing.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Sets the window’s backing store type to a given type.

    Declaration

    Swift

    var backingType: NSBackingStoreType

    Objective-C

    @property NSBackingStoreType backingType

    Parameters

    backingType

    The backing store type to set.

    Discussion

    The valid backing store types are described in Constants.

    This method can be used only to switch a buffered window to retained or vice versa; you can’t change the backing type to or from nonretained after initializing an NSWindow object (an error is generated if you attempt to do so).

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Indicates the window’s backing store location.

    Declaration

    Swift

    var backingLocation: NSWindowBackingLocation { get }

    Objective-C

    @property(readonly) NSWindowBackingLocation backingLocation

    Return Value

    The location of the window’s backing store. See NSWindowBackingLocation for possible values.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.5 and later.

  • Indicates the preferred location for the window’s backing store.

    Declaration

    Swift

    var preferredBackingLocation: NSWindowBackingLocation

    Objective-C

    @property NSWindowBackingLocation preferredBackingLocation

    Return Value

    The preferred location for the window’s backing store. See Constants for possible values.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.5 and later.

  • Specifies the preferred location for the window’s backing store.

    Declaration

    Swift

    var preferredBackingLocation: NSWindowBackingLocation

    Objective-C

    @property NSWindowBackingLocation preferredBackingLocation

    Parameters

    preferredBackingLocation

    The preferred location for the window’s backing store. See NSWindowBackingLocation for possible values.

    Discussion

    Use only when optimizing for performance.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.5 and later.

  • isOneShot - isOneShot Available in OS X v10.0 through OS X v10.9

    Indicates whether the window device the window manages is freed when it’s removed from the screen list.

    Declaration

    Objective-C

    - (BOOL)isOneShot

    Return Value

    YEStrue when the window’s window device is freed when it’s removed from the screen list; otherwise, NOfalse.

    Discussion

    The default is NOfalse.

    Import Statement

    Objective-C

    @import AppKit;

    Availability

    Available in OS X v10.0 through OS X v10.9.

    See Also

    – setOneShot:

  • Sets whether the window device that the window manages should be freed when it’s removed from the screen list.

    Declaration

    Swift

    var oneShot: Bool

    Objective-C

    @property(getter=isOneShot) BOOL oneShot

    Parameters

    oneShot

    YEStrue to free the window’s window device when it’s removed from the screen list (hidden) and to create another one when it’s returned to the screen; NOfalse to reuse the window device.

    Discussion

    Freeing the window device when it’s removed from the screen list can result in memory savings and performance improvement for NSWindow objects that don’t take long to display. It’s particularly appropriate for NSWindow objects the user might use once or twice but not display continually.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

    See Also

    – isOneShot

  • Returns the depth limit of the window.

    Declaration

    Swift

    var depthLimit: NSWindowDepth

    Objective-C

    @property NSWindowDepth depthLimit

    Return Value

    Depth limit of the window.

    Discussion

    The value returned can be examined with the Application Kit functions NSPlanarFromDepth, NSColorSpaceFromDepth, NSBitsPerSampleFromDepth, and NSBitsPerPixelFromDepth.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Sets the depth limit of the window to a given limit.

    Declaration

    Swift

    var depthLimit: NSWindowDepth

    Objective-C

    @property NSWindowDepth depthLimit

    Parameters

    depthLimit

    The depth limit to set.

    Discussion

    The NSBestDepth function provides the best depth limit based on a set of parameters.

    Passing a value of 0 for depthLimit sets the depth limit to the window’s default depth limit. A depth limit of 0 can be useful for reverting an NSWindow object to its initial depth.

    On OS X v10.6 and later, you can pass one of the explicit bit depths defined in Explicit Window Depth LimitsNSWindowDepthTwentyfourBitRGB is the default.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Indicates whether the window’s depth limit can change to match the depth of the screen it’s on.

    Declaration

    Swift

    var hasDynamicDepthLimit: Bool { get }

    Objective-C

    @property(readonly) BOOL hasDynamicDepthLimit

    Return Value

    YEStrue when the window has a dynamic depth limit; otherwise, NOfalse.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Sets whether the window changes its depth to match the depth of the screen it’s on, or the depth of the deepest screen when it spans multiple screens.

    Declaration

    Swift

    func setDynamicDepthLimit(_ dynamicDepthLimit: Bool)

    Objective-C

    - (void)setDynamicDepthLimit:(BOOL)dynamicDepthLimit

    Parameters

    dynamicDepthLimit

    If YEStrue, the window has a dynamic depth limit; if NOfalse, it does not.

    Discussion

    When dynamicDepthLimit is NOfalse, the window uses either its preset depth limit or the default depth limit. A different, and non-dynamic, depth limit can be set with the setDepthLimit: method.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Returns the content rectangle used by a window with a given frame rectangle and window style.

    Declaration

    Swift

    class func contentRectForFrameRect(_ windowFrame: NSRect, styleMask windowStyle: Int) -> NSRect

    Objective-C

    + (NSRect)contentRectForFrameRect:(NSRect)windowFrame styleMask:(NSUInteger)windowStyle

    Parameters

    windowFrame

    The frame rectangle for the window expressed in screen coordinates.

    windowStyle

    The window style for the window. See Constants for a list of style mask values.

    Return Value

    The content rectangle, expressed in screen coordinates, used by the window with windowFrame and windowStyle.

    Discussion

    When a NSWindow instance is available, you should use contentRectForFrameRect: instead of this method.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Returns the frame rectangle used by a window with a given content rectangle and window style.

    Declaration

    Swift

    class func frameRectForContentRect(_ windowContentRect: NSRect, styleMask windowStyle: Int) -> NSRect

    Objective-C

    + (NSRect)frameRectForContentRect:(NSRect)windowContentRect styleMask:(NSUInteger)windowStyle

    Parameters

    windowContentRect

    The content rectangle for a window expressed in screen coordinates.

    windowStyle

    The window style for the window. See Window Style Masks for a list of style mask values.

    Return Value

    The frame rectangle, expressed in screen coordinates, used by the window with windowContentRect and windowStyle.

    Discussion

    When a NSWindow instance is available, you should use frameRectForContentRect: instead of this method.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Returns the minimum width a window’s frame rectangle must have for it to display a title, with a given window style.

    Declaration

    Swift

    class func minFrameWidthWithTitle(_ windowTitle: String, styleMask windowStyle: Int) -> CGFloat

    Objective-C

    + (CGFloat)minFrameWidthWithTitle:(NSString *)windowTitle styleMask:(NSUInteger)windowStyle

    Parameters

    windowTitle

    The title for the window.

    windowStyle

    The window style for the window. See Window Style Masks for a list of style mask values.

    Return Value

    The minimum width of the window’s frame, using windowStyle, in order to display windowTitle.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Returns the window’s content rectangle with a given frame rectangle.

    Declaration

    Swift

    func contentRectForFrameRect(_ windowFrame: NSRect) -> NSRect

    Objective-C

    - (NSRect)contentRectForFrameRect:(NSRect)windowFrame

    Parameters

    windowFrame

    The frame rectangle for the window expressed in screen coordinates.

    Return Value

    The window’s content rectangle, expressed in screen coordinates, with windowFrame.

    Discussion

    The window uses its current style mask in computing the content rectangle. See Window Style Masks for a list of style mask values. The main advantage of this instance-method counterpart to contentRectForFrameRect:styleMask: is that it allows you to take toolbars into account when converting between content and frame rectangles. (The toolbar is not included in the content rectangle.)

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.3 and later.

  • Returns the window’s frame rectangle with a given content rectangle.

    Declaration

    Swift

    func frameRectForContentRect(_ windowContent: NSRect) -> NSRect

    Objective-C

    - (NSRect)frameRectForContentRect:(NSRect)windowContent

    Parameters

    windowContent

    The content rectangle for the window expressed in screen coordinates.

    Return Value

    The window’s frame rectangle, expressed in screen coordinates, with windowContent.

    Discussion

    The window uses its current style mask in computing the frame rectangle. See Window Style Masks for a list of style mask values. The major advantage of this instance-method counterpart to frameRectForContentRect:styleMask: is that it allows you to take toolbars into account when converting between content and frame rectangles. (The toolbar is included in the frame rectangle but not the content rectangle.)

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.3 and later.

  • Returns the collection of drawers associated with the window.

    Declaration

    Swift

    var drawers: [AnyObject]? { get }

    Objective-C

    @property(readonly, copy) NSArray *drawers

    Return Value

    The collection of drawers associated with the window.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Returns the window’s window controller.

    Declaration

    Swift

    func windowController() -> AnyObject?

    Objective-C

    - (id)windowController

    Return Value

    The window’s window controller.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Sets the window’s window controller.

    Declaration

    Swift

    func setWindowController(_ windowController: NSWindowController?)

    Objective-C

    - (void)setWindowController:(NSWindowController *)windowController

    Parameters

    windowController

    Window controller to set.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Returns the sheet attached to the window.

    Declaration

    Swift

    var attachedSheet: NSWindow? { get }

    Objective-C

    @property(readonly, strong) NSWindow *attachedSheet

    Return Value

    The sheet attached to the window; nil when the window doesn’t have a sheet attached.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.1 and later.

  • isSheet - isSheet Available in OS X v10.1 through OS X v10.9

    Indicates whether the window has ever run as a modal sheet.

    Declaration

    Objective-C

    - (BOOL)isSheet

    Return Value

    YEStrue if the window has ever run as a modal sheet; otherwise, NOfalse.

    Import Statement

    Objective-C

    @import AppKit;

    Availability

    Available in OS X v10.1 through OS X v10.9.

  • Starts a document-modal session and presents—or queues for presentation—a sheet.

    Declaration

    Swift

    func beginSheet(_ sheetWindow: NSWindow, completionHandler handler: ((NSModalResponse) -> Void)?)

    Objective-C

    - (void)beginSheet:(NSWindow *)sheetWindow completionHandler:(void (^)(NSModalResponse returnCode))handler

    Parameters

    sheetWindow

    The window object that represents the sheet to present.

    handler

    The completion handler that gets called when the sheet’s modal session ends.

    Discussion

    If the window already has a presented sheet, this method queues the specified sheet for presentation after the current sheet is dismissed and then returns control to the caller.

    If the window has no presented sheets, this method displays the specified sheet, makes it key, and returns control to the caller. While the sheet remains visible, most events targeted at the receiver are prohibited. The runloop does not enter any special mode to accomplish this.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.9 and later.

  • Starts a document-modal session and presents the specified critical sheet.

    Declaration

    Swift

    func beginCriticalSheet(_ sheetWindow: NSWindow, completionHandler handler: ((NSModalResponse) -> Void)?)

    Objective-C

    - (void)beginCriticalSheet:(NSWindow *)sheetWindow completionHandler:(void (^)(NSModalResponse returnCode))handler

    Parameters

    sheetWindow

    The window object that represents the critical sheet to present. A critical sheet contains content that is time-critical or very important to the user.

    handler

    The completion handler that gets called when the sheet’s modal session ends.

    Discussion

    This method displays the sheet—on top of the window’s current sheet, if one exists—makes it key and returns control to the caller. While the sheet remains visible, most events targeted at the receiver are prohibited. The runloop does not enter any special mode to accomplish this.

    If the window already has a sheet when this method runs, the existing sheet is temporarily disabled while the critical sheet is presented. When the critical sheet is dismissed, the previously presented sheet continues its standard operation.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.9 and later.

  • Ends a document-modal session and dismisses the specified sheet.

    Declaration

    Swift

    func endSheet(_ sheetWindow: NSWindow)

    Objective-C

    - (void)endSheet:(NSWindow *)sheetWindow

    Parameters

    sheetWindow

    The window object that represents the sheet to be dismissed.

    Discussion

    This method ends the modal session with the return code NSModalResponseStop.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.9 and later.

  • Ends a document-modal session and dismisses the specified sheet.

    Declaration

    Swift

    func endSheet(_ sheetWindow: NSWindow, returnCode returnCode: NSModalResponse)

    Objective-C

    - (void)endSheet:(NSWindow *)sheetWindow returnCode:(NSModalResponse)returnCode

    Parameters

    sheetWindow

    The window object that represents the sheet to dismiss.

    returnCode

    The return code to send to the completion handler. You can use a custom value that you define or one of the return codes defined in the NSModalResponse enumeration or Additional NSModalResponse Values.

    Discussion

    This method ends the modal session with the specified return code.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.9 and later.

  • Returns the window to which the sheet is attached.

    Declaration

    Swift

    var sheetParent: NSWindow? { get }

    Objective-C

    @property(readonly, strong) NSWindow *sheetParent

    Return Value

    The window object to which the sheet is attached or nil if the receiver is not a sheet or has no sheet parent.

    Discussion

    This method returns the window object to which the sheet is logically attached, regardless of appearance. The parent window–sheet relationship begins with the beginning of the sheet (for example, through beginSheet:completionHandler:) and ends with the sheet’s dismissal (for example, through endSheet:).

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.9 and later.

  • Returns an array of the sheets currently attached to the window.

    Declaration

    Swift

    var sheets: [AnyObject] { get }

    Objective-C

    @property(readonly, copy) NSArray *sheets

    Return Value

    An ordered array that contains—in top-to-bottom order—the presented sheets that are attached to the window, followed by queued sheets, in the order they were queued. The array doesn’t include nested sheets or subsheets.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.9 and later.

  • Returns the window’s frame rectangle.

    Declaration

    Swift

    var frame: NSRect { get }

    Objective-C

    @property(readonly) NSRect frame

    Return Value

    The frame rectangle of the window in screen coordinates, including the title bar.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Positions the bottom-left corner of the window’s frame rectangle at a given point in screen coordinates.

    Declaration

    Swift

    func setFrameOrigin(_ point: NSPoint)

    Objective-C

    - (void)setFrameOrigin:(NSPoint)point

    Parameters

    point

    The new position of the window’s bottom-left corner in screen coordinates.

    Discussion

    Note that the window server limits window position coordinates to ±16,000.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Positions the top-left corner of the window’s frame rectangle at a given point in screen coordinates.

    Declaration

    Swift

    func setFrameTopLeftPoint(_ point: NSPoint)

    Objective-C

    - (void)setFrameTopLeftPoint:(NSPoint)point

    Parameters

    point

    The new position of the window’s top-left corner in screen coordinates.

    Discussion

    Note that the window server limits window position coordinates to ±16,000; if necessary, adjust aPoint relative to the window’s lower-left corner to account for this limit.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Modifies and returns a frame rectangle so that its top edge lies on a specific screen.

    Declaration

    Swift

    func constrainFrameRect(_ frameRect: NSRect, toScreen screen: NSScreen?) -> NSRect

    Objective-C

    - (NSRect)constrainFrameRect:(NSRect)frameRect toScreen:(NSScreen *)screen

    Parameters

    frameRect

    The proposed frame rectangle to adjust.

    screen

    The screen on which the top edge of the window’s frame is to lie.

    Return Value

    The adjusted frame rectangle.

    Discussion

    If the window is resizable and the window’s height is greater than the screen height, the rectangle’s height is adjusted to fit within the screen as well. The rectangle’s width and horizontal location are unaffected. You shouldn’t need to invoke this method yourself; it’s invoked automatically (and the modified frame is used to locate and set the size of the window) whenever a titled NSWindow object is placed onscreen and whenever its size is changed.

    Subclasses can override this method to prevent their instances from being constrained or to constrain them differently.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Positions the window's top left to a given point.

    Declaration

    Swift

    func cascadeTopLeftFromPoint(_ topLeft: NSPoint) -> NSPoint

    Objective-C

    - (NSPoint)cascadeTopLeftFromPoint:(NSPoint)topLeft

    Parameters

    topLeft

    The new top-left point, in screen coordinates, for the window. When NSZeroPoint, the window is not moved, except as needed to constrain to the visible screen

    Return Value

    The point shifted from top left of the window in screen coordinates.

    Discussion

    The returned point can be passed to a subsequent invocation of cascadeTopLeftFromPoint: to position the next window so the title bars of both windows are fully visible.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Sets the origin and size of the window’s frame rectangle according to a given frame rectangle, thereby setting its position and size onscreen.

    Declaration

    Swift

    func setFrame(_ windowFrame: NSRect, display displayViews: Bool)

    Objective-C

    - (void)setFrame:(NSRect)windowFrame display:(BOOL)displayViews

    Parameters

    windowFrame

    The frame rectangle for the window, including the title bar.

    displayViews

    Specifies whether the window redraws the views that need to be displayed. When YEStrue the window sends a displayIfNeeded message down its view hierarchy, thus redrawing all views.

    Discussion

    Note that the window server limits window position coordinates to ±16,000 and sizes to 10,000.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Sets the origin and size of the window’s frame rectangle, with optional animation, according to a given frame rectangle, thereby setting its position and size onscreen.

    Declaration

    Swift

    func setFrame(_ windowFrame: NSRect, display displayViews: Bool, animate performAnimation: Bool)

    Objective-C

    - (void)setFrame:(NSRect)windowFrame display:(BOOL)displayViews animate:(BOOL)performAnimation

    Parameters

    windowFrame

    The frame rectangle for the window, including the title bar.

    displayViews

    Specifies whether the window redraws the views that need to be displayed. When YEStrue the window sends a displayIfNeeded message down its view hierarchy, thus redrawing all views.

    performAnimation

    Specifies whether the window performs a smooth resize. YEStrue to perform the animation, whose duration is specified by animationResizeTime:.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Specifies the duration of a smooth frame-size change.

    Declaration

    Swift

    func animationResizeTime(_ newWindowFrame: NSRect) -> NSTimeInterval

    Objective-C

    - (NSTimeInterval)animationResizeTime:(NSRect)newWindowFrame

    Parameters

    newWindowFrame

    The frame rectangle specified in setFrame:display:animate:.

    Return Value

    The duration of the frame size change.

    Discussion

    Subclasses can override this method to control the total time for the frame change.

    The NSWindow implementation uses the value from the NSWindowResizeTime user default as the time in seconds to resize by 150 pixels. If this value is unspecified, NSWindowResizeTime is 0.20 seconds (this default value may be different in different releases of OS X).

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Returns the window’s aspect ratio, which constrains the size of its frame rectangle to integral multiples of this ratio when the user resizes it.

    Declaration

    Swift

    var aspectRatio: NSSize

    Objective-C

    @property NSSize aspectRatio

    Return Value

    The window’s aspect ratio.

    Discussion

    The size of the window’s frame rectangle is constrained to integral multiples of this ratio when the user resizes it. You can set an NSWindow object’s size to any ratio programmatically.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Sets the window’s aspect ratio, which constrains the size of its frame rectangle to integral multiples of this ratio when the user resizes it.

    Declaration

    Swift

    var aspectRatio: NSSize

    Objective-C

    @property NSSize aspectRatio

    Parameters

    aspectRatio

    The aspect ratio to be maintained during resizing actions.

    Discussion

    An NSWindow object’s aspect ratio and its resize increments are mutually exclusive attributes. In fact, setting one attribute cancels the setting of the other. For example, to cancel an established aspect ratio setting for an NSWindow object, you send it a setResizeIncrements: message with the width and height set to 1.0:

    • [myWindow setResizeIncrements:NSMakeSize(1.0,1.0)];

    The setContentAspectRatio: method takes precedence over this method.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Returns the minimum size to which the window’s frame (including its title bar) can be sized.

    Declaration

    Swift

    var minSize: NSSize

    Objective-C

    @property NSSize minSize

    Return Value

    The minimum size to which the window’s frame (including its title bar) can be sized either by the user or by the setFrame... methods other than setFrame:display: and setFrame:display:animate:.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Sets the minimum size to which the window’s frame (including its title bar) can be sized to aSize.

    Declaration

    Swift

    var minSize: NSSize

    Objective-C

    @property NSSize minSize

    Parameters

    minFrameSize

    The minimum size of the window’s frame.

    Discussion

    The minimum size constraint is enforced for resizing by the user as well as for the setFrame... methods other than setFrame:display: and setFrame:display:animate:.

    The setContentMinSize: method takes precedence over this method.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Returns the maximum size to which the window’s frame (including its title bar) can be sized.

    Declaration

    Swift

    var maxSize: NSSize

    Objective-C

    @property NSSize maxSize

    Return Value

    The maximum size to which the window’s frame (including its title bar) can be sized either by the user or by the setFrame... methods other than setFrame:display: and setFrame:display:animate:.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Sets the maximum size to which the window’s frame (including its title bar) can be sized.

    Declaration

    Swift

    var maxSize: NSSize

    Objective-C

    @property NSSize maxSize

    Parameters

    maxFrameSize

    The maximum size of the window’s frame.

    Discussion

    The maximum size constraint is enforced for resizing by the user as well as for the setFrame... methods other than setFrame:display: and setFrame:display:animate:. Note that the window server limits window sizes to 10,000.

    The default maximum size of a window is {FLT_MAX, FLT_MAX} (FLT_MAX is defined in /usr/include/float.h). Once the maximum size of a window has been set, there is no way to reset it other than specifying this default maximum size.

    The setContentMaxSize: method takes precedence over this method.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • isZoomed - isZoomed Available in OS X v10.0 through OS X v10.9

    Returns a Boolean value that indicates whether the window is in a zoomed state.

    Declaration

    Objective-C

    - (BOOL)isZoomed

    Return Value

    YEStrue if the window is in a zoomed state; otherwise, NOfalse.

    Discussion

    The zoomed state of the window is determined using the following steps:

    1. If the delegate or the window class implements windowWillUseStandardFrame:defaultFrame:, it is invoked to obtain the zoomed frame of the window. The result of isZoomed is then determined by whether or not the current window frame is equal to the zoomed frame.

    2. If the neither the delegate nor the window class implements windowWillUseStandardFrame:defaultFrame:, a default frame that nearly fits the screen is chosen. If the delegate or window class implements , it is invoked to validate the proposed zoomed frame. Once the zoomed frame is validated, the result of isZoomed is determined by whether or not the current window frame is equal to the zoomed frame.

    Import Statement

    Objective-C

    @import AppKit;

    Availability

    Available in OS X v10.0 through OS X v10.9.

    See Also

    – zoom:

  • This action method simulates the user clicking the zoom box by momentarily highlighting the button and then zooming the window.

    Declaration

    Swift

    func performZoom(_ sender: AnyObject?)

    Objective-C

    - (void)performZoom:(id)sender

    Parameters

    sender

    The object sending the message.

    Discussion

    If the window doesn’t have a zoom box or can’t be zoomed for some reason, the computer beeps.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • This action method toggles the size and location of the window between its standard state (provided by the application as the “best” size to display the window’s data) and its user state (a new size and location the user may have set by moving or resizing the window).

    Declaration

    Swift

    func zoom(_ sender: AnyObject?)

    Objective-C

    - (void)zoom:(id)sender

    Parameters

    sender

    The object sending the message.

    Discussion

    For more information on the standard and user states, see windowWillUseStandardFrame:defaultFrame:.

    The zoom: method is typically invoked after a user clicks the window’s zoom box but may also be invoked programmatically from the performZoom: method. It performs the following steps:

    1. Invokes the windowWillUseStandardFrame:defaultFrame: method, if the delegate or the window class implements it, to obtain a “best fit” frame for the window. If neither the delegate nor the window class implements the method, uses a default frame that nearly fills the current screen, which is defined to be the screen containing the largest part of the window’s current frame.

    2. Adjusts the resulting frame, if necessary, to fit on the current screen.

    3. Compares the resulting frame to the current frame to determine whether the window’s standard frame is currently displayed. If the current frame is within a few pixels of the standard frame in size and location, it is considered a match.

    4. Determines a new frame. If the window is currently in the standard state, the new frame represents the user state, saved during a previous zoom. If the window is currently in the user state, the new frame represents the standard state, computed in step 1 above. If there is no saved user state because there has been no previous zoom, the size and location of the window do not change.

    5. Determines whether the window currently allows zooming. By default, zooming is allowed. If the window’s delegate implements the windowShouldZoom:toFrame: method, zoom: invokes that method. If the delegate doesn’t implement the method but the window does, zoom: invokes the window’s version. windowShouldZoom:toFrame: returns NOfalse if zooming is not currently allowed.

    6. If the window currently allows zooming, sets the new frame.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

    See Also

    – isZoomed

  • Returns the flags field of the event record for the mouse-down event that initiated the resizing session.

    Declaration

    Swift

    var resizeFlags: Int { get }

    Objective-C

    @property(readonly) NSInteger resizeFlags

    Return Value

    A mask indicating which of the modifier keys was held down when the mouse-down event occurred. The flags are listed in NSEvent object’s modifierFlags method description.

    Discussion

    This method is valid only while the window is being resized

    You can use this method to constrain the direction or amount of resizing. Because of its limited validity, this method should only be invoked from within an implementation of the delegate method windowWillResize:toSize:.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Returns a Boolean value that indicates whether the window’s resize indicator is visible.

    Declaration

    Swift

    var showsResizeIndicator: Bool

    Objective-C

    @property BOOL showsResizeIndicator

    Return Value

    YEStrue when the window’s resize indicator is visible; otherwise, NOfalse.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Specifies whether the window’s resize indicator is visible

    Declaration

    Swift

    var showsResizeIndicator: Bool

    Objective-C

    @property BOOL showsResizeIndicator

    Parameters

    showResizeIndicator

    Specifies the resize indicator state. YEStrue to show it, NOfalse to hide it.

    Discussion

    This method does not affect whether the window is resizable.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Returns the window’s resizing increments.

    Declaration

    Swift

    var resizeIncrements: NSSize

    Objective-C

    @property NSSize resizeIncrements

    Return Value

    The window’s resizing increments.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Restricts the user’s ability to resize the window so the width and height change by multiples of width and height increments.

    Declaration

    Swift

    var resizeIncrements: NSSize

    Objective-C

    @property NSSize resizeIncrements

    Parameters

    resizeIncrements

    The resizing increments to set.

    Discussion

    As the user resizes the window, its size changes by multiples of increments.width and increments.height, which should be whole numbers, 1.0 or greater. Whatever the current resizing increments, you can set an NSWindow object’s size to any height and width programmatically.

    Resize increments and aspect ratio are mutually exclusive attributes. For more information, see setAspectRatio:.

    The setContentResizeIncrements: method takes precedence over this method.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Returns whether the window tries to optimize user-initiated resize operations by preserving the content of views that have not changed.

    Declaration

    Swift

    var preservesContentDuringLiveResize: Bool

    Objective-C

    @property BOOL preservesContentDuringLiveResize

    Return Value

    YEStrue if the window tries to optimize live resize operations by preserving the content of views that have not moved; otherwise, NOfalse.

    Discussion

    When live-resize optimization is active, the window redraws only those views that moved (or do not support this optimization) during a live resize operation.

    See preservesContentDuringLiveResize in NSView for additional information on how to support this optimization.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.4 and later.

  • Specifies whether the window tries to optimize live resize operations by preserving the content of views that have not changed.

    Declaration

    Swift

    var preservesContentDuringLiveResize: Bool

    Objective-C

    @property BOOL preservesContentDuringLiveResize

    Parameters

    preservesContentDuringLiveResize

    YEStrue turns on live-resize optimization; NOfalse turns it off for the window and all of its contained views.

    Discussion

    By default, live-resize optimization is turned on.

    You might consider disabling this optimization for the window if none of the window’s contained views can take advantage of it. Disabling the optimization for the window prevents it from checking each view to see if the optimization is supported.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.4 and later.

  • Indicates whether the window is being resized by the user.

    Declaration

    Swift

    var inLiveResize: Bool { get }

    Objective-C

    @property(readonly) BOOL inLiveResize

    Return Value

    YEStrue if the window is being live resized; otherwise, NOfalse.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.6 and later.

  • Returns the window’s content aspect ratio.

    Declaration

    Swift

    var contentAspectRatio: NSSize

    Objective-C

    @property NSSize contentAspectRatio

    Return Value

    The window’s content aspect ratio.

    Discussion

    The default content aspect ratio is (0, 0).

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.3 and later.

  • Sets the aspect ratio (height in relation to width) of the window’s content view, constraining the dimensions of its content rectangle to integral multiples of that ratio when the user resizes it.

    Declaration

    Swift

    var contentAspectRatio: NSSize

    Objective-C

    @property NSSize contentAspectRatio

    Parameters

    contentAspectRatio

    The aspect ratio of the window’s content view.

    Discussion

    You can set a window’s content view to any size programmatically, regardless of its aspect ratio. This method takes precedence over setAspectRatio:.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.3 and later.

  • Returns the minimum size of the window’s content view.

    Declaration

    Swift

    var contentMinSize: NSSize

    Objective-C

    @property NSSize contentMinSize

    Return Value

    The minimum size of the window’s content view.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.3 and later.

  • Sets the minimum size of the window’s content view in the window’s base coordinate system.

    Declaration

    Swift

    var contentMinSize: NSSize

    Objective-C

    @property NSSize contentMinSize

    Parameters

    contentMinSize

    The minimum size of the window’s content view in the window’s base coordinate system.

    Discussion

    The minimum size constraint is enforced for resizing by the user as well as for the setContentSize: method and the setFrame... methods other than setFrame:display: and setFrame:display:animate:. This method takes precedence over setMinSize:.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.3 and later.

  • Sets the size of the window’s content view to a given size, which is expressed in the window’s base coordinate system.

    Declaration

    Swift

    func setContentSize(_ size: NSSize)

    Objective-C

    - (void)setContentSize:(NSSize)size

    Parameters

    size

    The new size of the window’s content view in the window’s base coordinate system.

    Discussion

    This size in turn alters the size of the NSWindow object itself. Note that the window server limits window sizes to 10,000; if necessary, be sure to limit aSize relative to the frame rectangle.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Returns the maximum size of the window’s content view.

    Declaration

    Swift

    var contentMaxSize: NSSize

    Objective-C

    @property NSSize contentMaxSize

    Return Value

    The maximum size of the window’s content view.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.3 and later.

  • Sets the maximum size of the window’s content view in the window’s base coordinate system.

    Declaration

    Swift

    var contentMaxSize: NSSize

    Objective-C

    @property NSSize contentMaxSize

    Parameters

    contentMaxSize

    The maximum size of the window’s content view in the window’s base coordinate system.

    Discussion

    The maximum size constraint is enforced for resizing by the user as well as for the setContentSize: method and the setFrame... methods other than setFrame:display: and setFrame:display:animate:. This method takes precedence over setMaxSize:.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.3 and later.

  • Returns the window’s content-view resizing increments.

    Declaration

    Swift

    var contentResizeIncrements: NSSize

    Objective-C

    @property NSSize contentResizeIncrements

    Return Value

    The window’s content-view resizing increments.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.3 and later.

  • Restricts the user’s ability to resize the window so the width and height of its content view change by multiples of width and height increments.

    Declaration

    Swift

    var contentResizeIncrements: NSSize

    Objective-C

    @property NSSize contentResizeIncrements

    Parameters

    contentResizeIncrements

    The content-view resizing increments to set.

    Discussion

    As the user resizes the window, the size of its content view changes by integral multiples of contentResizeIncrements.width and contentResizeIncrements.height. However, you can set a window’s size to any width and height programmatically. This method takes precedence over setResizeIncrements:.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.3 and later.

  • Removes the window from the screen list, which hides the window.

    Declaration

    Swift

    func orderOut(_ sender: AnyObject?)

    Objective-C

    - (void)orderOut:(id)sender

    Parameters

    sender

    The message’s sender.

    Discussion

    If the window is the key or main window, the NSWindow object immediately behind it is made key or main in its place. Calling the orderOut: method causes the window to be removed from the screen, but does not cause it to be released. See the close method for information on when a window is released.

    The default animation based on the window type will be used when the window is ordered out unless it has been modified by the setAnimationBehavior: method.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Moves the window to the back of its level in the screen list, without changing either the key window or the main window.

    Declaration

    Swift

    func orderBack(_ sender: AnyObject?)

    Objective-C

    - (void)orderBack:(id)sender

    Parameters

    sender

    Message originator.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Moves the window to the front of its level in the screen list, without changing either the key window or the main window.

    Declaration

    Swift

    func orderFront(_ sender: AnyObject?)

    Objective-C

    - (void)orderFront:(id)sender

    Parameters

    sender

    The message’s sender.

    Discussion

    The default animation based on the window type will be used when the window is ordered front unless it has been modified by the setAnimationBehavior: method.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Moves the window to the front of its level, even if its application isn’t active, without changing either the key window or the main window.

    Declaration

    Swift

    func orderFrontRegardless()

    Objective-C

    - (void)orderFrontRegardless

    Parameters

    sender

    The message’s sender.

    Discussion

    Normally an NSWindow object can’t be moved in front of the key window unless it and the key window are in the same application. You should rarely need to invoke this method; it’s designed to be used when applications are cooperating in such a way that an active application (with the key window) is using another application to display data.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Repositions the window’s window device in the window server’s screen list.

    Declaration

    Swift

    func orderWindow(_ orderingMode: NSWindowOrderingMode, relativeTo otherWindowNumber: Int)

    Objective-C

    - (void)orderWindow:(NSWindowOrderingMode)orderingMode relativeTo:(NSInteger)otherWindowNumber

    Parameters

    orderingMode
    • NSWindowOut: The window is removed from the screen list and otherWindowNumber is ignored.

    • NSWindowAbove: The window is ordered immediately in front of the window whose window number is otherWindowNumber

    • NSWindowBelow: The window is placed immediately behind the window represented by otherWindowNumber.

    otherWindowNumber

    The number of the window the window is to be placed in front of or behind. Pass 0 to place the window in front of (when orderingMode is NSWindowAbove) or behind (when orderingMode is NSWindowBelow) all other windows in its level.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Returns the window level of the window.

    Declaration

    Swift

    var level: Int

    Objective-C

    @property NSInteger level

    Return Value

    The window level.

    Discussion

    See Window Levels for a list of possible values.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

    See Also

    – setLevel:

  • Sets the window’s window level to a given level.

    Declaration

    Swift

    var level: Int

    Objective-C

    @property NSInteger level

    Parameters

    windowLevel

    The window level to set.

    Discussion

    Some useful predefined values, ordered from lowest to highest, are described in Window Levels.

    Each level in the list groups windows within it in front of those in all preceding groups. Floating windows, for example, appear in front of all normal-level windows. When a window enters a new level, it’s ordered in front of all its peers in that level.

    The constant NSTornOffMenuWindowLevel is preferable to its synonym, NSSubmenuWindowLevel.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • isVisible - isVisible Available in OS X v10.0 through OS X v10.9

    Indicates whether the window is visible onscreen (even when It’s obscured by other windows).

    Declaration

    Objective-C

    - (BOOL)isVisible

    Return Value

    YEStrue when the window is onscreen (even if it’s obscured by other windows); otherwise, NOfalse.

    Import Statement

    Objective-C

    @import AppKit;

    Availability

    Available in OS X v10.0 through OS X v10.9.

    See Also

    visibleRect (NSView)

  • Returns the occlusion state of the window.

    Declaration

    Swift

    var occlusionState: NSWindowOcclusionState { get }

    Objective-C

    @property(readonly) NSWindowOcclusionState occlusionState

    Return Value

    If occlusionState is NSWindowOcclusionStateVisible, at least part of the window is visible; otherwise, the window is fully occluded.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.9 and later.

  • Removes the frame data stored under a given name from the application’s user defaults.

    Declaration

    Swift

    class func removeFrameUsingName(_ frameName: String)

    Objective-C

    + (void)removeFrameUsingName:(NSString *)frameName

    Parameters

    frameName

    The name of the frame to remove.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Sets the window’s frame rectangle by reading the rectangle data stored under a given name from the defaults system.

    Declaration

    Swift

    func setFrameUsingName(_ frameName: String) -> Bool

    Objective-C

    - (BOOL)setFrameUsingName:(NSString *)frameName

    Parameters

    frameName

    The name of the frame to read.

    Return Value

    YEStrue when frameName is read and the frame is set successfully; otherwise, NOfalse.

    Discussion

    The frame is constrained according to the window’s minimum and maximum size settings. This method causes a windowWillResize:toSize: message to be sent to the delegate.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Sets the window’s frame rectangle by reading the rectangle data stored under a given name from the defaults system. Can operate on non-resizable windows.

    Declaration

    Swift

    func setFrameUsingName(_ frameName: String, force force: Bool) -> Bool

    Objective-C

    - (BOOL)setFrameUsingName:(NSString *)frameName force:(BOOL)force

    Parameters

    frameName

    The name of the frame to read.

    force

    YEStrue to use setFrameUsingName: on a non-resizable window; NOfalse to fail on a non-resizable window.

    Return Value

    YEStrue when frameName is read and the frame is set successfully; otherwise,NOfalse.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Saves the window’s frame rectangle in the user defaults system under a given name.

    Declaration

    Swift

    func saveFrameUsingName(_ frameName: String)

    Objective-C

    - (void)saveFrameUsingName:(NSString *)frameName

    Parameters

    frameName

    The name under which the frame is to be saved.

    Discussion

    With the companion method setFrameUsingName:, you can save and reset an NSWindow object’s frame over various launches of an application. The default is owned by the application and stored under the name "NSWindow Frame frameName". See NSUserDefaults for more information.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Returns the name used to automatically save the window’s frame rectangle data in the defaults system, as set through setFrameAutosaveName:.

    Declaration

    Swift

    func frameAutosaveName() -> String?

    Objective-C

    - (NSString *)frameAutosaveName

    Return Value

    The name used to save the window’s frame rectangle automatically in the defaults system.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Sets the name used to automatically save the window’s frame rectangle in the defaults system to a given name.

    Declaration

    Swift

    func setFrameAutosaveName(_ frameName: String) -> Bool

    Objective-C

    - (BOOL)setFrameAutosaveName:(NSString *)frameName

    Parameters

    frameName

    The name under which the frame is to be saved.

    Return Value

    YEStrue when the frame name is set successfully; NOfalse when frameName is being used as an autosave name by another NSWindow object in the application (in which case the window’s old name remains in effect).

    Discussion

    If frameName isn’t the empty string (@""), the window’s frame is saved as a user default (as described in saveFrameUsingName:) each time the frame changes.

    When the window has an autosave name, its frame data is written whenever the frame rectangle changes.

    If there is a frame rectangle previously stored for frameName in the user defaults, the window’s frame is set to this frame rectangle. That is, when you call this method with a previously used frameName, the window picks up the previously saved setting. For example, if you call setFrameAutosaveName: for a window that is already onscreen, this method could cause the window to move to a different screen location. For this reason, it is generally better to call this method before the window is visible on screen.

    Keep in mind that a window controller may change the window’s position when it displays it if window cascading is turned on. To preclude the window controller from changing a window’s position from the one saved in the defaults system, you must send setShouldCascadeWindows:NO to the window controller.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Returns a string representation of the window’s frame rectangle.

    Declaration

    Swift

    var stringWithSavedFrame: String { get }

    Objective-C

    @property(readonly, copy) NSString *stringWithSavedFrame

    Return Value

    A string representation of the window’s frame rectangle in a format that can be used with a later setFrameFromString: message.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Sets the window’s frame rectangle from a given string representation.

    Declaration

    Swift

    func setFrameFromString(_ frameString: String)

    Objective-C

    - (void)setFrameFromString:(NSString *)frameString

    Parameters

    frameString

    A string representation of a frame rectangle, previously creating using stringWithSavedFrame.

    Discussion

    If the window is not resizable, this method will not resize the window. The frame is constrained according to the window’s minimum and maximum size settings. This method causes a windowWillResize:toSize: message to be sent to the delegate.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • isKeyWindow - isKeyWindow Available in OS X v10.0 through OS X v10.9

    Indicates whether the window is the key window for the application.

    Declaration

    Objective-C

    - (BOOL)isKeyWindow

    Return Value

    YEStrue if the window is the key window for the application; otherwise, NOfalse.

    Import Statement

    Objective-C

    @import AppKit;

    Availability

    Available in OS X v10.0 through OS X v10.9.

  • Indicates whether the window can become the key window.

    Declaration

    Swift

    var canBecomeKeyWindow: Bool { get }

    Objective-C

    @property(readonly) BOOL canBecomeKeyWindow

    Return Value

    YEStrue if the window can become the key window, otherwise, NOfalse.

    Discussion

    Attempts to make the window the key window are abandoned if this method returns NOfalse. The NSWindow implementation returns YEStrue if the window has a title bar or a resize bar, or NOfalse otherwise.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Makes the window the key window.

    Declaration

    Swift

    func makeKeyWindow()

    Objective-C

    - (void)makeKeyWindow

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Moves the window to the front of the screen list, within its level, and makes it the key window; that is, it shows the window.

    Declaration

    Swift

    func makeKeyAndOrderFront(_ sender: AnyObject?)

    Objective-C

    - (void)makeKeyAndOrderFront:(id)sender

    Parameters

    sender

    The message’s sender.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Invoked automatically to inform the window that it has become the key window; never invoke this method directly.

    Declaration

    Swift

    func becomeKeyWindow()

    Objective-C

    - (void)becomeKeyWindow

    Discussion

    This method reestablishes the window’s first responder, sends the becomeKeyWindow message to that object if it responds, and posts an NSWindowDidBecomeKeyNotification to the default notification center.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Invoked automatically when the window resigns key window status; never invoke this method directly.

    Declaration

    Swift

    func resignKeyWindow()

    Objective-C

    - (void)resignKeyWindow

    Discussion

    This method sends resignKeyWindow to the window’s first responder, sends windowDidResignKey: to the window’s delegate, and posts an NSWindowDidResignKeyNotification to the default notification center.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • isMainWindow - isMainWindow Available in OS X v10.0 through OS X v10.9

    Indicates whether the window is the application’s main window.

    Declaration

    Objective-C

    - (BOOL)isMainWindow

    Return Value

    YEStrue when the window is the main window for the application; otherwise, NOfalse.

    Import Statement

    Objective-C

    @import AppKit;

    Availability

    Available in OS X v10.0 through OS X v10.9.

  • Indicates whether the window can become the application’s main window.

    Declaration

    Swift

    var canBecomeMainWindow: Bool { get }

    Objective-C

    @property(readonly) BOOL canBecomeMainWindow

    Return Value

    YEStrue when the window can become the main window; otherwise, NOfalse.

    Discussion

    Attempts to make the window the main window are abandoned if this method returns NOfalse. The NSWindow implementation returns YEStrue if the window is visible, is not an NSPanel object, and has a title bar or a resize mechanism. Otherwise it returns NOfalse.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Makes the window the main window.

    Declaration

    Swift

    func makeMainWindow()

    Objective-C

    - (void)makeMainWindow

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Invoked automatically to inform the window that it has become the main window; never invoke this method directly.

    Declaration

    Swift

    func becomeMainWindow()

    Objective-C

    - (void)becomeMainWindow

    Discussion

    This method posts an NSWindowDidBecomeMainNotification to the default notification center.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Invoked automatically when the window resigns main window status; never invoke this method directly.

    Declaration

    Swift

    func resignMainWindow()

    Objective-C

    - (void)resignMainWindow

    Discussion

    This method sends windowDidResignMain: to the window’s delegate and posts an NSWindowDidResignMainNotification to the default notification center.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Returns the window’s toolbar.

    Declaration

    Swift

    var toolbar: NSToolbar?

    Objective-C

    @property(strong) NSToolbar *toolbar

    Return Value

    The window’s toolbar.

    Discussion

    See the NSToolbar class description for additional information.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

    See Also

    – setToolbar:

  • Sets the window’s toolbar.

    Declaration

    Swift

    var toolbar: NSToolbar?

    Objective-C

    @property(strong) NSToolbar *toolbar

    Parameters

    toolbar

    The toolbar for the window.

    Discussion

    See the NSToolbar class description for additional information.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

    See Also

    – toolbar

  • The action method for the “Hide Toolbar” menu item (which alternates with “Show Toolbar”).

    Declaration

    Swift

    func toggleToolbarShown(_ sender: AnyObject?)

    Objective-C

    - (void)toggleToolbarShown:(id)sender

    Parameters

    sender

    The message’s sender.

    Discussion

    See the NSToolbar class description for additional information.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • The action method for the “Customize Toolbar…” menu item.

    Declaration

    Swift

    func runToolbarCustomizationPalette(_ sender: AnyObject?)

    Objective-C

    - (void)runToolbarCustomizationPalette:(id)sender

    Parameters

    sender

    The message’s sender.

    Discussion

    See the NSToolbar class description for additional information.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Returns an array of the window’s attached child windows.

    Declaration

    Swift

    var childWindows: [AnyObject]? { get }

    Objective-C

    @property(readonly, copy) NSArray *childWindows

    Return Value

    An array containing the window’s child windows.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.2 and later.

  • Adds a given window as a child window of the window.

    Declaration

    Swift

    func addChildWindow(_ childWindow: NSWindow, ordered orderingMode: NSWindowOrderingMode)

    Objective-C

    - (void)addChildWindow:(NSWindow *)childWindow ordered:(NSWindowOrderingMode)orderingMode

    Parameters

    childWindow

    The child window to order.

    orderingMode
    • NSWindowAbove: childWindow is ordered immediately in front of the window.

    • NSWindowBelow: childWindow is ordered immediately behind the window.

    Discussion

    After the childWindow is added as a child of the window, it is maintained in relative position indicated by orderingMode for subsequent ordering operations involving either window. While this attachment is active, moving childWindow will not cause the window to move (as in sliding a drawer in or out), but moving the window will cause childWindow to move.

    Note that you should not create cycles between parent and child windows. For example, you should not add window B as child of window A, then add window A as a child of window B.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.2 and later.

  • Detaches a given child window from the window.

    Declaration

    Swift

    func removeChildWindow(_ childWindow: NSWindow)

    Objective-C

    - (void)removeChildWindow:(NSWindow *)childWindow

    Parameters

    childWindow

    The child window to detach.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.2 and later.

  • Returns the parent window to which the window is attached as a child.

    Declaration

    Swift

    unowned(unsafe) var parentWindow: NSWindow?

    Objective-C

    @property(assign) NSWindow *parentWindow

    Return Value

    The window to which the window is attached as a child.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.2 and later.

  • Adds the window as a child of a given window. For use by subclasses when setting the parent window in the window.

    Declaration

    Swift

    unowned(unsafe) var parentWindow: NSWindow?

    Objective-C

    @property(assign) NSWindow *parentWindow

    Parameters

    parentWindow

    The window to be a child of the given window.

    Discussion

    This method should be called from a subclass when it is overridden by a subclass’s implementation. It should not be called otherwise.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.2 and later.

  • isFlushWindowDisabled - isFlushWindowDisabled Available in OS X v10.0 through OS X v10.9

    Indicates whether the window’s flushing ability is disabled.

    Declaration

    Objective-C

    - (BOOL)isFlushWindowDisabled

    Return Value

    YEStrue when the window’s flushing ability has been disabled; otherwise, NOfalse.

    Import Statement

    Objective-C

    @import AppKit;

    Availability

    Available in OS X v10.0 through OS X v10.9.

  • Reenables the flushWindow method for the window after it was disabled through a previous disableFlushWindow message.

    Declaration

    Swift

    func enableFlushWindow()

    Objective-C

    - (void)enableFlushWindow

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Disables the flushWindow method for the window.

    Declaration

    Swift

    func disableFlushWindow()

    Objective-C

    - (void)disableFlushWindow

    Discussion

    If the window is buffered, disabling flushWindow prevents drawing from being automatically flushed by the NSView display... methods from the window’s backing store to the screen. This method permits several views to be drawn before the results are shown to the user.

    Flushing should be disabled only temporarily, while the window’s display is being updated. Each disableFlushWindow message must be paired with a subsequent enableFlushWindow message. Invocations of these methods can be nested; flushing isn’t reenabled until the last enableFlushWindow message is sent.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Flushes the window’s offscreen buffer to the screen if the window is buffered and flushing is enabled.

    Declaration

    Swift

    func flushWindow()

    Objective-C

    - (void)flushWindow

    Discussion

    Does nothing for other display devices, such as a printer. This method is automatically invoked by the NSWindow display and displayIfNeeded methods and the corresponding NSView display and displayIfNeeded methods.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Flushes the window’s offscreen buffer to the screen if flushing is enabled and if the last flushWindow message had no effect because flushing was disabled.

    Declaration

    Swift

    func flushWindowIfNeeded()

    Objective-C

    - (void)flushWindowIfNeeded

    Discussion

    To avoid unnecessary flushing, use this method rather than flushWindow to flush an NSWindow object after flushing has been reenabled.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Returns the window’s field editor, creating it if requested.

    Declaration

    Swift

    func fieldEditor(_ createWhenNeeded: Bool, forObject anObject: AnyObject?) -> NSText?

    Objective-C

    - (NSText *)fieldEditor:(BOOL)createWhenNeeded forObject:(id)anObject

    Parameters

    createWhenNeeded

    If YEStrue, creates a field editor if one doesn’t exist; if NOfalse, does not create a field editor.

    A freshly created NSWindow object doesn’t have a field editor. After a field editor has been created for a window, the createWhenNeeded argument is ignored. By passing NOfalse for createWhenNeeded and testing the return value, however, you can predicate an action on the existence of the field editor.

    anObject

    A text-displaying object for which the delegate (in windowWillReturnFieldEditor:toObject:) assigns a custom field editor. Pass nil to get the default field editor, which can be the NSWindow field editor or a custom field editor returned by the delegate.

    Return Value

    Returns the field editor for the designated object (anObject) or, if anObject is nil, the default field editor. Returns nil if createFlag is NOfalse and if the field editor doesn’t exist.

    Discussion

    The field editor is a single NSTextView object that is shared among all the controls in a window for light text-editing needs. It is automatically instantiated when needed, and it can be used however your application sees fit. Typically, the field editor is used by simple text-bearing objects—for example, an NSTextField object uses its window’s field editor to display and manipulate text. The field editor can be shared by any number of objects, and so its state may be constantly changing. Therefore, it shouldn’t be used to display text that demands sophisticated layout (for this you should create a dedicated NSTextView object).

    The field editor may be in use by some view object, so be sure to properly dissociate it from that object before actually using it yourself (the appropriate way to do this is illustrated in the description of endEditingFor:). Once you retrieve the field editor, you can insert it in the view hierarchy, set a delegate to interpret text events, and have it perform whatever editing is needed. Then, when it sends a textDidEndEditing: message to the delegate, you can get its text to display or store and remove the field editor using endEditingFor:.

    The window’s delegate can substitute a custom field editor in place of the window’s field editor by implementing windowWillReturnFieldEditor:toObject:. The custom field editor can become the default editor (common to all text-displaying objects) or specific to a particular text-displaying object (anObject). The window sends this message to its delegate with itself and anObject as the arguments; if the delegate returns a non-nil value, the window returns that object instead of its field editor in fieldEditor:forObject:. However, note the following:

    • If the window’s delegate is identical to anObject, windowWillReturnFieldEditor:toObject: isn’t sent to the delegate.

    • The object returned by the delegate method, though it may become first responder, does not become the window's default field editor. Other objects continue to use the window's default field editor.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Forces the field editor to give up its first responder status and prepares it for its next assignment.

    Declaration

    Swift

    func endEditingFor(_ object: AnyObject?)

    Objective-C

    - (void)endEditingFor:(id)object

    Parameters

    object

    The object that is using the window’s field editor.

    Discussion

    If the field editor is the first responder, it’s made to resign that status even if its resignFirstResponder method returns NOfalse. This registration forces the field editor to send a textDidEndEditing: message to its delegate. The field editor is then removed from the view hierarchy, its delegate is set to nil, and it’s emptied of any text it may contain.

    This method is typically invoked by the object using the field editor when it’s finished. Other objects normally change the first responder by simply using makeFirstResponder:, which allows a field editor or other object to retain its first responder status if, for example, the user has entered an invalid value. The endEditingFor: method should be used only as a last resort if the field editor refuses to resign first responder status. Even in this case, you should always allow the field editor a chance to validate its text and take whatever other action it needs first. You can do this by first trying to make the NSWindow object the first responder:

    • if ([myWindow makeFirstResponder:myWindow]) {
    • /* All fields are now valid; its safe to use fieldEditor:forObject:
    • to claim the field editor. */
    • }
    • else {
    • /* Force first responder to resign. */
    • [myWindow endEditingFor:nil];
    • }

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • isExcludedFromWindowsMenu - isExcludedFromWindowsMenu Available in OS X v10.0 through OS X v10.9

    Indicates whether the window is excluded from the application’s Windows menu.

    Declaration

    Objective-C

    - (BOOL)isExcludedFromWindowsMenu

    Return Value

    YEStrue when the window is excluded from the Windows menu; otherwise, NOfalse.

    Discussion

    The default initial setting is NOfalse.

    Import Statement

    Objective-C

    @import AppKit;

    Availability

    Available in OS X v10.0 through OS X v10.9.

  • Specifies whether the window’s title is omitted from the application’s Windows menu.

    Declaration

    Swift

    var excludedFromWindowsMenu: Bool

    Objective-C

    @property(getter=isExcludedFromWindowsMenu) BOOL excludedFromWindowsMenu

    Parameters

    excludedFromWindowsMenu

    If YEStrue, the window will be omitted from the application’s Windows menu; if NOfalse, it will not be omitted.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Indicates whether the window’s cursor rectangles are enabled.

    Declaration

    Swift

    var areCursorRectsEnabled: Bool { get }

    Objective-C

    @property(readonly) BOOL areCursorRectsEnabled

    Return Value

    YEStrue when cursor rectangles are enabled; otherwise, NOfalse.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Reenables cursor rectangle management within the window after a disableCursorRects message.

    Declaration

    Swift

    func enableCursorRects()

    Objective-C

    - (void)enableCursorRects

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Disables all cursor rectangle management within the window.

    Declaration

    Swift

    func disableCursorRects()

    Objective-C

    - (void)disableCursorRects

    Discussion

    Use this method when you need to do some special cursor manipulation and you don’t want the Application Kit interfering.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Invalidates all cursor rectangles in the window.

    Declaration

    Swift

    func discardCursorRects()

    Objective-C

    - (void)discardCursorRects

    Discussion

    This method is invoked by resetCursorRects to clear out existing cursor rectangles before resetting them. You shouldn’t invoke it in the code you write, but you might want to override it to change its behavior.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Marks as invalid the cursor rectangles of a given NSView object in the window’s view hierarchy, so they’ll be set up again when the window becomes key (or immediately if the window is key).

    Declaration

    Swift

    func invalidateCursorRectsForView(_ view: NSView)

    Objective-C

    - (void)invalidateCursorRectsForView:(NSView *)view

    Parameters

    view

    The view in the window’s view hierarchy.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Clears the window’s cursor rectangles and the cursor rectangles of the NSView objects in its view hierarchy.

    Declaration

    Swift

    func resetCursorRects()

    Objective-C

    - (void)resetCursorRects

    Discussion

    Invokes discardCursorRects to clear the window’s cursor rectangles, then sends resetCursorRects to every NSView object in the window’s view hierarchy.

    This method is typically invoked by the NSApplication object when it detects that the key window’s cursor rectangles are invalid. In program code, it’s more efficient to invoke invalidateCursorRectsForView:.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Returns a new instance of a given standard window button, sized appropriately for a given window style.

    Declaration

    Swift

    class func standardWindowButton(_ windowButtonKind: NSWindowButton, forStyleMask windowStyle: Int) -> NSButton?

    Objective-C

    + (NSButton *)standardWindowButton:(NSWindowButton)windowButtonKind forStyleMask:(NSUInteger)windowStyle

    Parameters

    windowButtonKind

    The kind of standard window button to return.

    windowStyle

    The window style for which windowButtonKind is to be sized. See Window Style Masks for the list of allowable values.

    Return Value

    The new window button of the kind identified by windowButtonKind; nil when no such button kind exists.

    Discussion

    The caller is responsible for adding the button to the view hierarchy and for setting the target to be the window.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.2 and later.

  • Returns the window button of a given window button kind in the window’s view hierarchy.

    Declaration

    Swift

    func standardWindowButton(_ windowButtonKind: NSWindowButton) -> NSButton?

    Objective-C

    - (NSButton *)standardWindowButton:(NSWindowButton)windowButtonKind

    Parameters

    windowButtonKind

    The kind of standard window button to return.

    Return Value

    Window button in the window’s view hierarchy of the kind identified by windowButtonKind; nil when such button is not in the window’s view hierarchy.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.2 and later.

  • Indicates whether the toolbar control button is currently displayed.

    Declaration

    Swift

    var showsToolbarButton: Bool

    Objective-C

    @property BOOL showsToolbarButton

    Return Value

    YEStrue if the standard toolbar button is currently displayed; otherwise, NOfalse.

    Discussion

    When clicked, the toolbar control button shows or hides a window’s toolbar. The toolbar control button appears in a window’s title bar.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.4 and later.

  • Specifies whether the window shows the toolbar control button.

    Declaration

    Swift

    var showsToolbarButton: Bool

    Objective-C

    @property BOOL showsToolbarButton

    Parameters

    showsToolbarButton

    YEStrue to display the toolbar control button; NOfalse to hide the button.

    Discussion

    If the window does not have a toolbar, this method has no effect.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.4 and later.

  • Indicates whether the window can display tooltips even when the application is in the background.

    Declaration

    Swift

    var allowsToolTipsWhenApplicationIsInactive: Bool

    Objective-C

    @property BOOL allowsToolTipsWhenApplicationIsInactive

    Return Value

    YEStrue if the window can display tooltips even when the application is in the background; otherwise, NOfalse.

    Discussion

    The default is NOfalse.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.3 and later.

  • Specifies whether the window can display tooltips even when the application is in the background.

    Declaration

    Swift

    var allowsToolTipsWhenApplicationIsInactive: Bool

    Objective-C

    @property BOOL allowsToolTipsWhenApplicationIsInactive

    Parameters

    allowTooltipsWhenAppInactive

    YEStrue to have the window display tooltips even when its application is inactive; NOfalse to suppress tooltip display when inactive.

    Discussion

    The message does not take effect until the window changes to an active state.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.3 and later.

  • This method does nothing; it is here for backward compatibility.

    Declaration

    Swift

    class func menuChanged(_ menu: NSMenu)

    Objective-C

    + (void)menuChanged:(NSMenu *)menu

    Parameters

    menu

    The menu object that changed.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

    See Also

    menu (NSResponder)

  • Returns the event currently being processed by the application, by invoking NSApplication’s currentEvent method.

    Declaration

    Swift

    var currentEvent: NSEvent? { get }

    Objective-C

    @property(readonly, strong) NSEvent *currentEvent

    Return Value

    The event being processed by the application.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Returns the next event matching a given mask.

    Declaration

    Swift

    func nextEventMatchingMask(_ eventMask: Int) -> NSEvent?

    Objective-C

    - (NSEvent *)nextEventMatchingMask:(NSUInteger)eventMask

    Parameters

    eventMask

    The mask that the event to return must match. Events with non-matching masks are left in the queue. See discardEventsMatchingMask:beforeEvent: in NSApplication for the list of mask values.

    Return Value

    The next event whose mask matches eventMask; nil when no matching event was found.

    Discussion

    This method sends the message nextEventMatchingMask:eventMask untilDate:[NSDate distantFuture] inMode:NSEventTrackingRunLoopMode dequeue:YES to the application (NSApp).

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Forwards the message to the global NSApplication object, NSApp.

    Declaration

    Swift

    func nextEventMatchingMask(_ eventMask: Int, untilDate expirationDate: NSDate?, inMode runLoopMode: String, dequeue dequeue: Bool) -> NSEvent?

    Objective-C

    - (NSEvent *)nextEventMatchingMask:(NSUInteger)eventMask untilDate:(NSDate *)expirationDate inMode:(NSString *)runLoopMode dequeue:(BOOL)dequeue

    Parameters

    eventMask

    The mask that the event to return must match.

    expirationDate

    The date until which to wait for events.

    runLoopMode

    The run loop mode to use while waiting for events

    dequeue

    YEStrue to remove the returned event from the event queue; NOfalse to leave the returned event in the queue.

    Return Value

    The next event whose mask matches eventMask; nil when no matching event was found.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Forwards the message to the NSApplication object, NSApp.

    Declaration

    Swift

    func discardEventsMatchingMask(_ eventMask: Int, beforeEvent lastEvent: NSEvent?)

    Objective-C

    - (void)discardEventsMatchingMask:(NSUInteger)eventMask beforeEvent:(NSEvent *)lastEvent

    Parameters

    eventMask

    The mask of the events to discard.

    lastEvent

    The event up to which queued events are discarded from the queue.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

    See Also

    discardEventsMatchingMask:beforeEvent: (NSApplication)

  • Forwards the message to the global NSApplication object, NSApp.

    Declaration

    Swift

    func postEvent(_ event: NSEvent, atStart atStart: Bool)

    Objective-C

    - (void)postEvent:(NSEvent *)event atStart:(BOOL)atStart

    Parameters

    event

    The event to add to the window’s event queue.

    atStart

    YEStrue to place the event in the front of the queue; NOfalse to place it in the back.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • This action method dispatches mouse and keyboard events sent to the window by the NSApplication object.

    Declaration

    Swift

    func sendEvent(_ event: NSEvent)

    Objective-C

    - (void)sendEvent:(NSEvent *)event

    Parameters

    event

    The mouse or keyboard event to process.

    Discussion

    Never invoke this method directly. A right mouse-down event in a window of an inactive application is not delivered to the corresponding NSWindow object. It is instead delivered to the NSApplication object through a sendEvent: message with a window number of 0.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Dispatches action messages with a given argument.

    Declaration

    Swift

    func tryToPerform(_ selector: Selector, with object: AnyObject?) -> Bool

    Objective-C

    - (BOOL)tryToPerform:(SEL)selector with:(id)object

    Parameters

    selector

    The selector to attempt to execute.

    object

    The message’s argument.

    Return Value

    YEStrue when the window or its delegate perform selector with object; otherwise, NOfalse.

    Discussion

    The window tries to perform the method selector using its inherited NSResponder method tryToPerform:with:. If the window doesn’t perform selector, the delegate is given the opportunity to perform it using its inherited NSObject method performSelector:withObject:.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Returns view that’s made first responder the first time the window is placed onscreen.

    Declaration

    Swift

    unowned(unsafe) var initialFirstResponder: NSView?

    Objective-C

    @property(assign) NSView *initialFirstResponder

    Return Value

    The view that’s made first responder the first time the window is placed onscreen.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Returns the window’s first responder.

    Declaration

    Swift

    var firstResponder: NSResponder { get }

    Objective-C

    @property(readonly, strong) NSResponder *firstResponder

    Return Value

    The first responder.

    Discussion

    The first responder is usually the first object in a responder chain to receive an event or action message. In most cases, the first responder is a view object in that the user selects or activates with the mouse or keyboard.

    You can use the firstResponder method in custom subclasses of responder classes (NSWindow, NSApplication, NSView, and subclasses) to determine if an instance of the subclass is currently the first responder. You can also use it to help locate a text field that currently has first-responder status. For more on this subject, see “Event Handling Basics.“

    In OS X v10.6 and later, firstResponder is key-value observing compliant.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Sets a given view as the one that’s made first responder (also called the key view) the first time the window is placed onscreen.

    Declaration

    Swift

    unowned(unsafe) var initialFirstResponder: NSView?

    Objective-C

    @property(assign) NSView *initialFirstResponder

    Parameters

    view

    The view to make first responder the first time the window is placed onscreen.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Attempts to make a given responder the first responder for the window.

    Declaration

    Swift

    func makeFirstResponder(_ responder: NSResponder?) -> Bool

    Objective-C

    - (BOOL)makeFirstResponder:(NSResponder *)responder

    Parameters

    responder

    The responder to set as the window’s first responder. nil makes the window its first responder.

    Return Value

    YEStrue when the operation is successful; otherwise, NOfalse.

    Discussion

    If responder isn’t already the first responder, this method first sends a resignFirstResponder message to the object that is the first responder. If that object refuses to resign, it remains the first responder, and this method immediately returns NOfalse. If the current first responder resigns, this method sends a becomeFirstResponder message to responder. If responder does not accept first responder status, the NSWindow object becomes first responder; in this case, the method returns YEStrue even if responder refuses first responder status.

    If responder is nil, this method still sends resignFirstResponder to the current first responder. If the current first responder refuses to resign, it remains the first responder and this method immediately returns NOfalse. If the current first responder returns YEStrue from resignFirstResponder, the window is made its own first responder and this method returns YEStrue.

    The Application Kit framework uses this method to alter the first responder in response to mouse-down events; you can also use it to explicitly set the first responder from within your program. The responder object is typically an NSView object in the window’s view hierarchy. If this method is called explicitly, first send acceptsFirstResponder to responder, and do not call makeFirstResponder: if acceptsFirstResponder returns NOfalse.

    Use setInitialFirstResponder: to the set the first responder to be used when the window is brought onscreen for the first time.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

    See Also

    becomeFirstResponder (NSResponder)
    resignFirstResponder (NSResponder)

  • Makes key the view that precedes the given view.

    Declaration

    Swift

    func selectKeyViewPrecedingView(_ referenceView: NSView)

    Objective-C

    - (void)selectKeyViewPrecedingView:(NSView *)referenceView

    Parameters

    referenceView

    The view whose preceding view in the key view loop is sought.

    Discussion

    Sends the previousValidKeyView message to referenceView and, if that message returns an NSView object, invokes makeFirstResponder: with the returned object.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Makes key the view that follows the given view.

    Declaration

    Swift

    func selectKeyViewFollowingView(_ referenceView: NSView)

    Objective-C

    - (void)selectKeyViewFollowingView:(NSView *)referenceView

    Parameters

    referenceView

    The view whose following view in the key view loop is sought.

    Discussion

    Sends the nextValidKeyView message to referenceView and, if that message returns an NSView object, invokes makeFirstResponder: with the returned object.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • This action method searches for a candidate previous key view and, if it finds one, invokes makeFirstResponder: to establish it as the first responder.

    Declaration

    Swift

    func selectPreviousKeyView(_ sender: AnyObject?)

    Objective-C

    - (void)selectPreviousKeyView:(id)sender

    Parameters

    sender

    The message’s sender.

    Discussion

    The candidate is one of the following (searched for in this order):

    • The current first responder’s previous valid key view, as returned by the previousValidKeyView method of NSView

    • The object designated as the window’s initial first responder (using setInitialFirstResponder:) if it returns YEStrue to an acceptsFirstResponder message

    • Otherwise, the initial first responder’s previous valid key view, which may end up being nil

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • This action method searches for a candidate next key view and, if it finds one, invokes makeFirstResponder: to establish it as the first responder.

    Declaration

    Swift

    func selectNextKeyView(_ sender: AnyObject?)

    Objective-C

    - (void)selectNextKeyView:(id)sender

    Parameters

    sender

    The message’s sender.

    Discussion

    The candidate is one of the following (searched for in this order):

    • The current first responder’s next valid key view, as returned by the nextValidKeyView method of NSView

    • The object designated as the window’s initial first responder (using setInitialFirstResponder:) if it returns YEStrue to an acceptsFirstResponder message

    • Otherwise, the initial first responder’s next valid key view, which may end up being nil

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Returns the direction the window is currently using to change the key view.

    Declaration

    Swift

    var keyViewSelectionDirection: NSSelectionDirection { get }

    Objective-C

    @property(readonly) NSSelectionDirection keyViewSelectionDirection

    Return Value

    The direction the window is using to change the key view.

    Discussion

    This direction can be one of the values described in NSSelectionDirection—Direction of Key View Change.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Indicates whether the window automatically recalculates the key view loop when views are added.

    Declaration

    Swift

    var autorecalculatesKeyViewLoop: Bool

    Objective-C

    @property BOOL autorecalculatesKeyViewLoop

    Return Value

    YEStrue if the window automatically recalculates the key view loop when views are added; otherwise, NOfalse.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.4 and later.

  • Marks the key view loop as dirty and in need of recalculation.

    Declaration

    Swift

    func recalculateKeyViewLoop()

    Objective-C

    - (void)recalculateKeyViewLoop

    Discussion

    The key view loop is actually recalculated the next time someone requests the next or previous key view of the window. The recalculated loop is based on the geometric order of the views in the window.

    If you do not want to maintain the key view loop of your window manually, you can use this method to do it for you. When it is first loaded, NSWindow calls this method automatically if your window does not have a key view loop already established. If you add or remove views later, you can call this method manually to update the window’s key view loop. You can also call setAutorecalculatesKeyViewLoop: to have the window recalculate the loop automatically.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.4 and later.

  • Specifies whether to recalculate the key view loop automatically when views are added or removed.

    Declaration

    Swift

    var autorecalculatesKeyViewLoop: Bool

    Objective-C

    @property BOOL autorecalculatesKeyViewLoop

    Parameters

    autorecalculateKeyViewLoop

    If YEStrue,the window recalculates the key view loop automatically; if NOfalse, it does not.

    Discussion

    If autorecalculateKeyViewLoop is NOfalse, the client code must update the key view loop manually or call recalculateKeyViewLoop to have the window recalculate it.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.4 and later.

  • Handles a given keyboard event that may need to be interpreted as changing the key view or triggering a keyboard equivalent.

    Declaration

    Swift

    func keyDown(_ event: NSEvent)

    Objective-C

    - (void)keyDown:(NSEvent *)event

    Parameters

    event

    The keyboard event to process.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Indicates whether the window accepts mouse-moved events.

    Declaration

    Swift

    var acceptsMouseMovedEvents: Bool

    Objective-C

    @property BOOL acceptsMouseMovedEvents

    Return Value

    YEStrue when the window accepts (and distributes) mouse-moved events; otherwise, NOfalse.

    Discussion

    The NSWindow default is NOfalse.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Indicates whether the window is transparent to mouse events.

    Declaration

    Swift

    var ignoresMouseEvents: Bool

    Objective-C

    @property BOOL ignoresMouseEvents

    Return Value

    YEStrue when the window is transparent to mouse events; otherwise, NOfalse.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.2 and later.

  • Specifies whether the window is transparent to mouse clicks and other mouse events, allowing overlay windows.

    Declaration

    Swift

    var ignoresMouseEvents: Bool

    Objective-C

    @property BOOL ignoresMouseEvents

    Parameters

    ignoreMouseEvents

    If YEStrue, the window will ignore mouse events; if NOfalse, it will not.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.2 and later.

  • Returns the current location of the pointer reckoned in the window’s base coordinate system.

    Declaration

    Swift

    var mouseLocationOutsideOfEventStream: NSPoint { get }

    Objective-C

    @property(readonly) NSPoint mouseLocationOutsideOfEventStream

    Return Value

    The current location of the pointer reckoned in the window’s base coordinate system, regardless of the current event being handled or of any events pending.

    Discussion

    For the same information in screen coordinates, use NSEvent's mouseLocation.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

    See Also

    currentEvent (NSApplication)

  • Specifies whether the window is to accept mouse-moved events.

    Declaration

    Swift

    var acceptsMouseMovedEvents: Bool

    Objective-C

    @property BOOL acceptsMouseMovedEvents

    Parameters

    acceptMouseMovedEvents

    YEStrue to have the window accept mouse-moved events (and to distribute them to its responders); NOfalse to not accept such events.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Returns the number of the frontmost window that would be hit by a mouse-down at the specified screen location.

    Declaration

    Swift

    class func windowNumberAtPoint(_ point: NSPoint, belowWindowWithWindowNumber windowNumber: Int) -> Int

    Objective-C

    + (NSInteger)windowNumberAtPoint:(NSPoint)point belowWindowWithWindowNumber:(NSInteger)windowNumber

    Parameters

    point

    The location of the mouse-down in screen coordinates.

    windowNumber

    If non-0, the search will start below windowNumber window in z-order.

    Return Value

    The window number of the window under the point. The window number returned may correspond to a window in another application.

    Discussion

    Because this method uses the same rules as mouse-down hit-testing, windows with transparency at the given point, and windows that ignore mouse events, will not be returned.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.6 and later.

  • Specifies whether the window configuration is preserved between application launches.

    Declaration

    Swift

    var restorable: Bool

    Objective-C

    @property(getter=isRestorable) BOOL restorable

    Parameters

    flag

    Specify YEStrue if you want the window to be preserved or NOfalse if you do not want it preserved.

    Discussion

    Windows should be preserved between launch cycles to maintain interface continuity for the user. During subsequent launch cycles, the system tries to recreate the window and restore its configuration to the preserved state. Configuration data is updated as needed and saved automatically by the system.

    If you enable preservation for a given window, you should also specify a restoration class for the window using the setRestorationClass: method.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.7 and later.

  • isRestorable - isRestorable Available in OS X v10.7 through OS X v10.9

    Returns a Boolean value indicating whether the window configuration is preserved between application launches.

    Declaration

    Objective-C

    - (BOOL)isRestorable

    Return Value

    YEStrue if the window configuration is preserved or NOfalse if it is not.

    Discussion

    By default, this method returns YEStrue if the window’s styleMask property includes the NSTitledWindowMask flag. For other windows, this method returns NOfalse. Specifying a value explicitly using the setRestorable: method overrides the default values.

    Import Statement

    Objective-C

    @import AppKit;

    Availability

    Available in OS X v10.7 through OS X v10.9.

  • Specifies the class to use to acquire a matching window object during subsequent launches.

    Declaration

    Swift

    var restorationClass: AnyObject.Type?

    Objective-C

    @property(assign) Class<NSWindowRestoration> restorationClass

    Parameters

    restorationClass

    A class object that conforms to the NSWindowRestoration protocol. AppKit uses this object to handle the recreation of the window object later.

    Discussion

    The restoration class of a window is responsible for recreating not just the window but any other objects needed to manage the window. This almost always involves creating a window controller and for multi-window document applications also involves creating a document object. Therefore, the restoration class must be able to create (or find existing instances of) all of these objects at launch time in your application.

    If you mark your windows as restorable, you must associate a restoration class with them. For multi-window document applications, AppKit associates the NSDocumentController class with any document windows by default. That class recreates the preserved document objects, which in turn recreate the corresponding window controller and window objects. For other types of windows, you must set the restoration class explicitly.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.7 and later.

  • Returns the restoration class associated with the window.

    Declaration

    Swift

    var restorationClass: AnyObject.Type?

    Objective-C

    @property(assign) Class<NSWindowRestoration> restorationClass

    Return Value

    The class object corresponding to the class to use to restore the window or nil if none is set.

    Discussion

    Restoration classes assist in the recreation of window objects during subsequent launches of the application. When prompted by AppKit, the restoration class creates or acquires a window that matches the same type that was preserved. It then passes that window back to AppKit, which proceeds to reconfigure the window with the preserved state information.

    For multi-window document applications, this method returns the NSDocumentController class for windows that are associated with an NSDocument object by default. For other types of windows, this method returns nil by default.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.7 and later.

  • Disable snapshot restoration.

    Declaration

    Swift

    func disableSnapshotRestoration()

    Objective-C

    - (void)disableSnapshotRestoration

    Discussion

    While snapshot restoration is disabled, the window will not be snapshotted for restorable state.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.7 and later.

  • Enable snapshot restoration.

    Declaration

    Swift

    func enableSnapshotRestoration()

    Objective-C

    - (void)enableSnapshotRestoration

    Discussion

    While snapshot restoration is enabled, the window will be snapshotted for restorable state.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.7 and later.

  • Stores the window’s raster image from a given rectangle expressed in the window’s base coordinate system.

    Declaration

    Swift

    func cacheImageInRect(_ rectangle: NSRect)

    Objective-C

    - (void)cacheImageInRect:(NSRect)rectangle

    Parameters

    rectangle

    The rectangle representing the image to cache.

    Discussion

    This method allows the window to perform temporary drawing, such as a band around the selection as the user drags the mouse, and to quickly restore the previous image by invoking restoreCachedImage and flushWindowIfNeeded. The next time the window displays, it discards its cached image rectangles. You can also explicitly use discardCachedImage to free the memory occupied by cached image rectangles. aRect is made integral before caching the image to avoid antialiasing artifacts.

    Only the last cached rectangle is remembered and can be restored.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

    See Also

    – display

  • Splices the window’s cached image rectangles, if any, back into its raster image (and buffer if it has one), undoing the effect of any drawing performed within those areas since they were established using cacheImageInRect:.

    Declaration

    Swift

    func restoreCachedImage()

    Objective-C

    - (void)restoreCachedImage

    Discussion

    You must invoke flushWindow after this method to guarantee proper redisplay. An NSWindow object automatically discards its cached image rectangles when it displays.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Discards all of the window’s cached image rectangles.

    Declaration

    Swift

    func discardCachedImage()

    Objective-C

    - (void)discardCachedImage

    Discussion

    An NSWindow object automatically discards its cached image rectangles when it displays.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Passes a display message down the window’s view hierarchy, thus redrawing all views within the window, including the frame view that draws the border, title bar, and other peripheral elements.

    Declaration

    Swift

    func display()

    Objective-C

    - (void)display

    Discussion

    You rarely need to invoke this method. NSWindow objects normally record which of their views need display and display them automatically on each pass through the event loop.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Passes a displayIfNeeded message down the window’s view hierarchy, thus redrawing all views that need to be displayed, including the frame view that draws the border, title bar, and other peripheral elements.

    Declaration

    Swift

    func displayIfNeeded()

    Objective-C

    - (void)displayIfNeeded

    Discussion

    This method is useful when you want to modify some number of views and then display only the ones that were modified.

    You rarely need to invoke this method. NSWindow objects normally record which of their views need display and display them automatically on each pass through the event loop.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Indicates whether any of the window’s views need to be displayed.

    Declaration

    Swift

    var viewsNeedDisplay: Bool

    Objective-C

    @property BOOL viewsNeedDisplay

    Return Value

    YEStrue when any of the window’s views need to be displayed; otherwise, NOfalse.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Specifies whether the window’s views need to be displayed..

    Declaration

    Swift

    var viewsNeedDisplay: Bool

    Objective-C

    @property BOOL viewsNeedDisplay

    Parameters

    viewsNeedDisplay

    If YEStrue, the window’s views are set to need to be displayed; if NOfalse, they are not.

    Discussion

    You should rarely need to invoke this method; the NSView method setNeedsDisplay: and similar methods invoke it automatically.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • isAutodisplay - isAutodisplay Available in OS X v10.0 through OS X v10.9

    Indicates whether the window automatically displays views that need to be displayed.

    Declaration

    Objective-C

    - (BOOL)isAutodisplay

    Return Value

    YEStrue when the window automatically displays views that need to be displayed; otherwise, NOfalse.

    Discussion

    Automatic display typically occurs on each pass through the event loop.

    Import Statement

    Objective-C

    @import AppKit;

    Availability

    Available in OS X v10.0 through OS X v10.9.

  • Specifies whether the window is to automatically display the views that are marked as needing it.

    Declaration

    Swift

    var autodisplay: Bool

    Objective-C

    @property(getter=isAutodisplay) BOOL autodisplay

    Parameters

    autodisplay

    If YEStrue, the window will automatically display views that need to be displayed; if NOfalse, it will not.

    Discussion

    If autodisplay is NOfalse, the window or its views must be explicitly displayed.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Specifies whether the window is to optimize focusing and drawing when displaying its views.

    Declaration

    Swift

    func useOptimizedDrawing(_ optimizedDrawing: Bool)

    Objective-C

    - (void)useOptimizedDrawing:(BOOL)optimizedDrawing

    Parameters

    optimizedDrawing

    If YEStrue, the window will optimize focusing and drawing for its views; if NOfalse, it will not, in which case, the window does not preserve the Z-ordering of overlapping views when an object explicitly sends lockFocus to a view and draws directly to it, instead of using the AppKit standard display mechanism.

    Discussion

    The optimizations may prevent sibling subviews from being displayed in the correct order—which matters only if the subviews overlap. You should always set optimizedDrawing to YEStrue when there are no overlapping subviews within the window. The default is NOfalse.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.10.

  • Provides the graphics context associated with the window for the current thread.

    Declaration

    Swift

    var graphicsContext: NSGraphicsContext? { get }

    Objective-C

    @property(readonly, strong) NSGraphicsContext *graphicsContext

    Return Value

    The graphics context associated with the window for the current thread.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.4 and later.

  • Indicates whether the window allows multithreaded view drawing.

    Declaration

    Swift

    var allowsConcurrentViewDrawing: Bool

    Objective-C

    @property BOOL allowsConcurrentViewDrawing

    Return Value

    YEStrue if the window allows multithreaded view drawing; otherwise, NOfalse.

    Discussion

    The default value is YEStrue.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.6 and later.

  • Specifies whether the window allows its views to be drawn concurrently.

    Declaration

    Swift

    var allowsConcurrentViewDrawing: Bool

    Objective-C

    @property BOOL allowsConcurrentViewDrawing

    Parameters

    flag

    If YEStrue, the window allows its views to be drawn concurrently; if NOfalse, it does not.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.6 and later.

  • Returns the window’s automatic animation behavior.

    Declaration

    Swift

    var animationBehavior: NSWindowAnimationBehavior

    Objective-C

    @property NSWindowAnimationBehavior animationBehavior

    Return Value

    The window’s animation behavior. See NSWindowAnimationBehavior for the possible values.

    Discussion

    This controls the automatic window animation behavior used when a window is sent an orderFront: or orderOut: message. See setAnimationBehavior: for more information.

    By default, a window’s animation behavior is set to NSWindowAnimationBehaviorDefault, which causes AppKit to determine the style of animation to use automatically based on its inference of a window’s “type” from various window properties.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.7 and later.

  • Sets the window’s automatic animation behavior.

    Declaration

    Swift

    var animationBehavior: NSWindowAnimationBehavior

    Objective-C

    @property NSWindowAnimationBehavior animationBehavior

    Parameters

    newAnimationBehavior

    The new animation behavior for the window. See NSWindowAnimationBehavior for the possible values.

    Discussion

    This controls the automatic window animation behavior used when a window is sent an orderFront: or orderOut: message.

    By default, a window’s animation behavior is set to NSWindowAnimationBehaviorDefault, which causes AppKit to determine the style of animation to use automatically based on its inference of a window’s “type” from various window properties.

    A window’s animation behavior can be set to NSWindowAnimationBehaviorNone to disable AppKit’s automatic animations for the window, which may be useful if that animation interferes with an animation that your application implements.

    The animation behavior can also be set to one of the other non-default NSWindowAnimationBehavior values to override AppKit's automatic inference of appropriate animation behavior based on the window's apparent type, although this is not recommended.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.7 and later.

  • Disables the window’s screen updates until the window is flushed.

    Declaration

    Swift

    func disableScreenUpdatesUntilFlush()

    Objective-C

    - (void)disableScreenUpdatesUntilFlush

    Discussion

    This method can be invoked to synchronize hardware surface flushes with the window’s flushes. The window immediately disables screen updates using the NSDisableScreenUpdates function and reenables screen updates when the window flushes. Sending this message multiple times during a window update cycle has no effect.

    To ensure that screen updates are reenabled in a timely manner, it’s crucial that the window is marked as needing display and that the display will occur soon (that is, within the next second). When you invoke disableScreenUpdatesUntilFlush, you can make sure that a marked window gets displayed by returning control to the run loop on the main thread or by sending the window displayIfNeeded or display. If it’s unclear whether the window is marked as needing display, you can also ensure that a display occurs by using setNeedsDisplayInRect: for a view that’s visible in the window.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.4 and later.

  • Updates the window.

    Declaration

    Swift

    func update()

    Objective-C

    - (void)update

    Discussion

    The NSWindow implementation of this method does nothing more than post an NSWindowDidUpdateNotification notification to the default notification center. A subclass can override this method to perform specialized operations, but it should send an update message to super just before returning. For example, the NSMenu class implements this method to disable and enable menu commands.

    An NSWindow object is automatically sent an update message on every pass through the event loop and before it’s displayed onscreen. You can manually cause an update message to be sent to all visible NSWindow objects through the NSApplication updateWindows method.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

    See Also

    setWindowsNeedUpdate: (NSApplication)

  • Begins a dragging session.

    Declaration

    Swift

    func dragImage(_ image: NSImage, at imageLocation: NSPoint, offset initialOffset: NSSize, event event: NSEvent, pasteboard pasteboard: NSPasteboard, source sourceObject: AnyObject, slideBack slideBack: Bool)

    Objective-C

    - (void)dragImage:(NSImage *)image at:(NSPoint)imageLocation offset:(NSSize)initialOffset event:(NSEvent *)event pasteboard:(NSPasteboard *)pasteboard source:(id)sourceObject slideBack:(BOOL)slideBack

    Parameters

    image

    The object to be dragged.

    imageLocation

    Location of the image’s bottom-left corner in the window’s coordinate system. It determines the placement of the dragged image under the pointer.

    initialOffset

    The pointer’s location relative to the mouse-down location. Not used in OS X v10.4 and later.

    event

    The left-mouse down event that triggered the dragging operation.

    pasteboard

    The pasteboard that holds the data to be transferred to the destination.

    sourceObject

    The object serving as the controller of the dragging operation. It must conform to the NSDraggingSource protocol.

    slideBack

    Specifies whether the drag image should slide back to imageLocation if it's rejected by the drag destination. Pass YEStrue to specify slide back behavior or NOfalse to specify that it should not.

    Discussion

    This method should be invoked only from within a view’s implementation of the mouseDown: or mouseDragged: methods (which overrides the version defined in NSResponder class). Essentially the same as the NSView method of the same name, except that imageLocation is given in the NSWindow object’s base coordinate system.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Registers a give set of pasteboard types as the pasteboard types the window will accept as the destination of an image-dragging session.

    Declaration

    Swift

    func registerForDraggedTypes(_ pasteboardTypes: [AnyObject])

    Objective-C

    - (void)registerForDraggedTypes:(NSArray *)pasteboardTypes

    Parameters

    pasteboardTypes

    An array of the pasteboard types the window will accept as the destination of an image-dragging session.

    Discussion

    Registering an NSWindow object for dragged types automatically makes it a candidate destination object for a dragging session. NSWindow has a default implementation for many of the methods in the NSDraggingDestination protocol. The default implementation forwards each message to the delegate if the delegate responds to the selector of the message. The messages forwarded this way are draggingEntered:, draggingUpdated:, draggingExited:, prepareForDragOperation:, performDragOperation:, and concludeDragOperation:.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Unregisters the window as a possible destination for dragging operations.

    Declaration

    Swift

    func unregisterDraggedTypes()

    Objective-C

    - (void)unregisterDraggedTypes

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Returns the backing scale factor.

    Declaration

    Swift

    var backingScaleFactor: CGFloat { get }

    Objective-C

    @property(readonly) CGFloat backingScaleFactor

    Return Value

    Returns 2.0 for high-resolution scaled display modes, and 1.0 for all other cases.

    Discussion

    There are some scenarios where an application that is resolution-aware may want to reason on its own about the display environment it is running in.

    It is important to note that this number returned by this method does not represent anything concrete, such as pixel density or physical size, since it can vary based on the configured display mode. For example, the display may be in a mirrored configuration that is still high-resolution scaled, resulting in pixel geometry that may not match the native resolution of the display device.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.7 and later.