initWithContentRect:styleMask:backing:defer:
ウインドウを初期化して返します
- (instancetype)initWithContentRect:(NSRect)contentRect styleMask:(NSUInteger)windowStyle backing:(NSBackingStoreType)bufferingType defer:(BOOL)deferCreation
init(contentRect contentRect: NSRect, styleMask windowStyle: Int, backing bufferingType: NSBackingStoreType, defer deferCreation: Bool)
解説
ウインドウを初期化して返します
このメソッドは、NSWindowクラスの指定のイニシャライザです。
引数
( NSRect )contentRectcontentRect contentRect: NSRect
ウインドウの位置とサイズ
【contentRect】場所とサイズを指定します。
( unsigned int )aStylestyleMask windowStyle: Int,
ウインドウスタイル
【styleMask】ウインドウのスタイル● NSBorderlessWindowMask 全部なし
(それぞれを+すると両方とも)
● NSTitledWindowMask タイトルバー
● NSClosableWindowMask クローズボタン
● NSMiniaturizableWindowMask 最小化ボタン
● NSResizableWindowMask リサイズボタン
枠の無いウインドウは、ウインドウバーを表示せず、内容だけの表示となるので、ウインドウのドラッグも自分で実装しないといけません。
( NSBackingStoreType )backingTypebacking bufferingType: NSBackingStoreType,
【backingType】
NSBackingStoreType - Cocoa API解説(iOS/OS X)
● NSBackingStoreRetained
● NSBackingStoreNonretained
● NSBackingStoreBuffered
常にバッファリングする
( BOOL )flag
defer deferCreation: Bool
【flag】
YESをセットするとスクリーンにウインドウが表示されるまでウインドウを作りません。
ウインドウ内のビューも作らないので、起動時間が早くなり、メモリも使用しません。
フレームワーク
ApplicationKit
クラス
NSWindow
使用可能
10.0
参照
orderFront: - Cocoa API解説(iOS/OS X)
oneShot - Cocoa API解説(iOS/OS X)
initWithContentRect:styleMask:backing:defer:screen: - Cocoa API解説(iOS/OS X)
例文
#import "Controller.h" @implementation Controller - (IBAction)pushButton:(id)sender { NSWindow *wind = [[NSWindow alloc] initWithContentRect:NSMakeRect(300.0, 300.0, 500.0,500.0) styleMask:(NSTitledWindowMask | NSClosableWindowMask) backing:NSBackingStoreNonretained defer:NO screen:nil ]; [wind setFrame:[wind frame] display:YES]; [info setStringValue:[wind className]]; [wind orderFront:sender]; } @end
var windowArray : NSMutableArray = [] //NSWindow initWithContentRect:styleMask:backing:defer @IBAction func function001(sender: AnyObject) { var window : NSWindow = NSWindow(contentRect: NSMakeRect(0.0, 0.0, 300, 200), styleMask: NSTitledWindowMask | NSClosableWindowMask | NSMiniaturizableWindowMask | NSResizableWindowMask, backing: .Buffered, defer: false) windowArray.addObject(window) //ウインドウを保持するための入れるに追加。アプリ終了時に配列は破棄 window.center()//ウインドウをスクリーンんの中心に window.title = "ウインドウタイトル"//タイトル設定 window.orderFront(self)//前面に window.makeKeyAndOrderFront(self)//表示 }