macOS/iOS API解説

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

目次

removeChildWindow:

INDEX>AppKit> NSWindow

ウインドウと子ウインドウの連結を解除します

Objective-C

- (void)removeChildWindow:(NSWindow *)childWindow

Swift

func removeChildWindow(_ childWindow: NSWindow)

解説

ウインドウと子ウインドウの連結を解除します。

返り値

なし

引数

Objective-C

- (void)removeChildWindow:(NSWindow *)childWindow

Swift

func removeChildWindow(_ childWindow: NSWindow)

連結を解除する子ウインドウ

フレームワーク

ApplicationKit

クラス

NSWindow

使用可能

10.2

参照

-addChildWindow:ordered:
-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]);


[myWindow  removeChildWindow:childWindow];
NSLog([[myWindow childWindows] description]);
}
@end

INDEX>AppKit> NSWindow

Objective-C

Swift

    //NSWindow removeChildWindow
    var childWindows085 : [AnyObject?] = []
    func buttonAction085(sender: AnyObject){
        var parentWindow : NSWindow = (sender as NSButton).window!

        if (parentWindow.childWindows?.count > 0) {

            (sender as NSButton).title = "Set child"
            for value  in parentWindow.childWindows! {
                NSLog("title = %@", ((value as NSWindow).title)!)

                parentWindow.removeChildWindow(value as NSWindow)
  
            }
        }else{
            (sender as NSButton).title = "Remove"
            for value  in childWindows085 {
                parentWindow.addChildWindow(value as NSWindow, ordered: NSWindowOrderingMode.Above)
            }
        }
    }
    @IBAction func function085(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 = "Remove"
        theButton1.bezelStyle = NSBezelStyle.RoundedBezelStyle
        theButton1.action = Selector("buttonAction085:")
        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(childWindow2) //ウインドウを保持するための配列に追加。アプリ終了時に配列は破棄
        childWindow2.title = "子ウインドウ2"//タイトル設定
        childWindow2.orderFront(self)//前面に
        childWindow2.makeKeyAndOrderFront(self)//表示
        
        parentWindow.addChildWindow(childWindow1, ordered: NSWindowOrderingMode.Above)
        parentWindow.addChildWindow(childWindow2, ordered: NSWindowOrderingMode.Above)
        childWindows085.append(childWindow1)
        childWindows085.append(childWindow2)
        
    }

更新時のバージョン

OS X 10.10

関連記事(外部サイト)