Cocoa API解説(macOS/iOS)

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。

目次

level

INDEX>AppKit> NSWindow

ウインドウの前後関係の位置を返します

Objective-C

@property NSInteger level

Swift

var level: Int

解説

ウインドウの前後関係の位置を返します。
【ウインドウレベル】
● NSNormalWindowLevel 初期設定のウインドウレベル
● NSFloatingWindowLevel フローティングパレットと同じレベル
● NSSubmenuWindowLevel  サブメニューのレベル。NSTornOffMenuWindowLevelと同じ
● NSTornOffMenuWindowLevel torn-off メニューのレベル。NSSubmenuWindowLevelと同じ
● NSMainMenuWindowLevel アプリケーションのメインメニューと同じ
● NSModalPanelWindowLevel モーダルパネルのレベル
● NSPopUpMenuWindowLevel ポップアップメニューのレベル
● NSScreenSaverWindowLevel スクリーンセーバーのレベル
● NSStatusWindowLevel ステータスウインドウのレベル

Swiftではウインドウレベルのキーが設定されていませんが、CoreGraphicsのキーを使うことが出来ます。

aWindow.level = Int(CGWindowLevelForKey(Int32(kCGNumberOfWindowLevelKeys)))        
var kCGBaseWindowLevelKey: Int { get }
        var kCGMinimumWindowLevelKey: Int { get }
        var kCGDesktopWindowLevelKey: Int { get }
        var kCGBackstopMenuLevelKey: Int { get }
        var kCGNormalWindowLevelKey: Int { get }
        var kCGFloatingWindowLevelKey: Int { get }
        var kCGTornOffMenuWindowLevelKey: Int { get }
        var kCGDockWindowLevelKey: Int { get }
        var kCGMainMenuWindowLevelKey: Int { get }
        var kCGStatusWindowLevelKey: Int { get }
        var kCGModalPanelWindowLevelKey: Int { get }
        var kCGPopUpMenuWindowLevelKey: Int { get }
        var kCGDraggingWindowLevelKey: Int { get }
        var kCGScreenSaverWindowLevelKey: Int { get }
        var kCGMaximumWindowLevelKey: Int { get }
        var kCGOverlayWindowLevelKey: Int { get }
        var kCGHelpWindowLevelKey: Int { get }
        var kCGUtilityWindowLevelKey: Int { get }
        var kCGDesktopIconWindowLevelKey: Int { get }
        var kCGCursorWindowLevelKey: Int { get }
        var kCGAssistiveTechHighWindowLevelKey: Int { get }
        var kCGNumberOfWindowLevelKeys: Int { get }

設定値

Objective-C

@property NSInteger level

Swift

var level: Int

フレームワーク

ApplicationKit

クラス

NSWindow

使用可能

10.0

参照

更新時のバージョン

OS X 10.10

関連記事(外部サイト)

stackoverflow.com

例文

#import "Controller.h"

@implementation Controller

- (IBAction)pushButton:(id)sender
{
NSLog([NSString stringWithFormat:@"%d",[myWindow level]]);
    }
@end

Swift

    //NSWindow level
    func buttonAction076(sender: AnyObject){
        var aWindow : NSWindow = (sender as NSButton).window!
        aWindow.level = Int(CGWindowLevelForKey(Int32(kCGNumberOfWindowLevelKeys)))
        NSLog("%d",Float(aWindow.level))

        /*
        var kCGBaseWindowLevelKey: Int { get }
        var kCGMinimumWindowLevelKey: Int { get }
        var kCGDesktopWindowLevelKey: Int { get }
        var kCGBackstopMenuLevelKey: Int { get }
        var kCGNormalWindowLevelKey: Int { get }
        var kCGFloatingWindowLevelKey: Int { get }
        var kCGTornOffMenuWindowLevelKey: Int { get }
        var kCGDockWindowLevelKey: Int { get }
        var kCGMainMenuWindowLevelKey: Int { get }
        var kCGStatusWindowLevelKey: Int { get }
        var kCGModalPanelWindowLevelKey: Int { get }
        var kCGPopUpMenuWindowLevelKey: Int { get }
        var kCGDraggingWindowLevelKey: Int { get }
        var kCGScreenSaverWindowLevelKey: Int { get }
        var kCGMaximumWindowLevelKey: Int { get }
        var kCGOverlayWindowLevelKey: Int { get }
        var kCGHelpWindowLevelKey: Int { get }
        var kCGUtilityWindowLevelKey: Int { get }
        var kCGDesktopIconWindowLevelKey: Int { get }
        var kCGCursorWindowLevelKey: Int { get }
        var kCGAssistiveTechHighWindowLevelKey: Int { get }
        var kCGNumberOfWindowLevelKeys: Int { get }
        */
    }
    @IBAction func function076(sender: AnyObject) {
        var theWindow : NSWindow = NSWindow(contentRect: NSMakeRect(0.0, 0.0, 300, 200), styleMask: NSTitledWindowMask | NSClosableWindowMask | NSMiniaturizableWindowMask | NSResizableWindowMask, backing: .Buffered, defer: false)
        windowArray.addObject(theWindow) //ウインドウを保持するための配列に追加。アプリ終了時に配列は破棄
        
        theWindow.center()//ウインドウをスクリーンの中心に
        theWindow.title = "ウインドウタイトル"//タイトル設定
        theWindow.orderFront(self)//前面に
        theWindow.makeKeyAndOrderFront(self)//表示
        
        //ボタンを作成
        var theButton : NSButton = NSButton(frame: NSMakeRect(100.0, 2.0, 100.0, 30.0))
        theButton.title = "Action"
        theButton.bezelStyle = NSBezelStyle.RoundedBezelStyle
        theButton.action = Selector("buttonAction076:")
        theButton.target = self
        theWindow.contentView.addSubview(theButton)

    }