macOS/iOS API解説

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。2010年代に書かれた内容です。今後更新はありません。

目次

addChildWindow:ordered:

INDEX>AppKit> NSWindow

ウインドウに子ウインドウを追加します

Objective-C

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

Swift

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

解説

ウインドウに子ウインドウを追加します。
【NSWindowOrderingMode】
●NSWindowAbove このウインドウより前面に(セット後は前後関係はかわりません)
●NSWindowBelow  このウインドウの背面に(セット後は前後関係はかわりません)
●NSWindowOut セットした後も、クリックしたウインドウが前面に表示されます。

返り値

なし

引数

追加するウインドウ
Objective-C

(NSWindow *)childWindow

Swift

childWindow: NSWindow

ウインドウの前後関係
Objective-C

(NSWindowOrderingMode)orderingMode

Swift

orderingMode: NSWindowOrderingMode)

フレームワーク

ApplicationKit

クラス

NSWindow

使用可能

10.2

参照

-removeChildWindow:
-childWindows
-parentWindow
-setParentWindow:

更新時のバージョン

OS X 10.10

関連記事(外部サイト)

例文

#import "Controller.h"

@implementation Controller

- (IBAction)pushButton:(id)sender
{


[myWindow addChildWindow:childWindow ordered:NSWindowAbove];
[childWindow orderFront:nil];
NSLog([[myWindow childWindows] description]);
}
@end

Swift

    //NSWindow addChildWindow
    //NSWindow childWindows
    func buttonAction084(sender: AnyObject){
        var aWindow : NSWindow = (sender as NSButton).window!
        if (aWindow.childWindows != nil) {
            for value  in aWindow.childWindows! {
                NSLog("title = %@", ((value as NSWindow).title)!)
            }
        }
    }
    @IBAction func function084(sender: AnyObject) {
        var parentWindow : NSWindow = NSWindow(contentRect: NSMakeRect(0.0, 0.0, 300, 200), styleMask: NSTitledWindowMask | NSClosableWindowMask | NSMiniaturizableWindowMask | NSResizableWindowMask, backing: .Buffered, defer: false)
        windowArray.addObject(parentWindow) //ウインドウを保持するための配列に追加。アプリ終了時に配列は破棄
        parentWindow.center()//ウインドウをスクリーンの中心に
        parentWindow.title = "親ウインドウ"//タイトル設定
        parentWindow.orderFront(self)//前面に
        parentWindow.makeKeyAndOrderFront(self)//表示
        
        //ボタンを作成
        var theButton1 : NSButton = NSButton(frame: NSMakeRect(100.0, 2.0, 100.0, 30.0))
        theButton1.title = "Action"
        theButton1.bezelStyle = NSBezelStyle.RoundedBezelStyle
        theButton1.action = Selector("buttonAction084:")
        theButton1.target = self
        parentWindow.contentView.addSubview(theButton1)
        
        //子ウインドウを作成
        var childWindow1 : NSWindow = NSWindow(contentRect: NSMakeRect( parentWindow.frame.origin.x+310.0, parentWindow.frame.origin.y+20.0, 200, 100), styleMask: NSTitledWindowMask | NSClosableWindowMask | NSMiniaturizableWindowMask | NSResizableWindowMask, backing: .Buffered, defer: false)
        windowArray.addObject(childWindow1) //ウインドウを保持するための配列に追加。アプリ終了時に配列は破棄
        childWindow1.title = "子ウインドウ1"//タイトル設定
        childWindow1.orderFront(self)//前面に
        childWindow1.makeKeyAndOrderFront(self)//表示
        
        //子ウインドウを作成
        var childWindow2 : NSWindow = NSWindow(contentRect: NSMakeRect( parentWindow.frame.origin.x-210.0, parentWindow.frame.origin.y+20.0, 200, 100), styleMask: NSTitledWindowMask | NSClosableWindowMask | NSMiniaturizableWindowMask | NSResizableWindowMask, backing: .Buffered, defer: false)
        windowArray.addObject(childWindow1) //ウインドウを保持するための配列に追加。アプリ終了時に配列は破棄
        childWindow2.title = "子ウインドウ2"//タイトル設定
        childWindow2.orderFront(self)//前面に
        childWindow2.makeKeyAndOrderFront(self)//表示
        
        parentWindow.addChildWindow(childWindow1, ordered: NSWindowOrderingMode.Above)
        parentWindow.addChildWindow(childWindow2, ordered: NSWindowOrderingMode.Above)
        
    }