NSViewを初期化して返します
- (instancetype)initWithFrame:(NSRect)frameRect
init(frame frameRect: NSRect)
解説
NSViewを初期化して返します。使う前に、NSWindowのビュー階層に挿入されなければいけません。このメソッドは、NSViewクラスの指定のイニシャライザです。
フレームワーク
ApplicationKit
クラス
NSView
使用可能
10.0
例文
@implementation MyObject - (IBAction)myAction:(id)sender { NSButton *but = [[NSButton alloc] initWithFrame:NSMakeRect(10,10,50,50)]; [scrollview addSubview : sender ]; [scrollview addSubview : but ]; } @end
//NSView initWithFrame: //UIパーツ受け渡し用 var aButton002 : NSButton? var aView002 : NSView? //実験用ビューのボタンを押した時に実行されるところ func viewAction002(sender : AnyObject?){ //準備 //let aButton = aButton002 let aView = aView002 //var theWindow : NSWindow = aButton!.window! //準備ここまで aView?.lockFocus() let backgroundColor = NSColor.greenColor() backgroundColor.setFill() NSRectFill(NSMakeRect(0, 20, 300.0, 178.0)) aView?.unlockFocus() NSLog("!!! %@",aView!.description) } //実験用ウインドウ作成、実験用ビュー、実行ボタンを作成してウインドウに貼り付けるところまで @IBAction func function002(sender: AnyObject) { //let aButton = aButton002 //let aView = aView002 let aWindow : NSWindow = NSWindow(contentRect: NSMakeRect(0.0, 0.0, 300.0, 200.0), styleMask: NSTitledWindowMask | NSClosableWindowMask | NSMiniaturizableWindowMask | NSResizableWindowMask, backing: .Buffered, `defer`: false, screen: NSScreen.mainScreen()) windowArray.addObject(aWindow) //ウインドウを保持するための配列に追加。アプリ終了時に配列は破棄 aWindow.center()//ウインドウをスクリーンの中心に aWindow.title = "View アクション"//タイトル設定 //ボタン let theButton : NSButton = NSButton(frame: NSMakeRect(100.0, 10.0, 100.0, 30.0)) theButton.title = "Action" theButton.bezelStyle = NSBezelStyle.RoundedBezelStyle theButton.action = Selector("viewAction002:") theButton.target = self aWindow.contentView!.addSubview(theButton) //ビュー let theView : NSView = NSView(frame: NSMakeRect(0.0, 20.0, 300.0, 180.0)) theView.wantsLayer = true //実験ウインドウにUIパーツを渡す self.aButton002 = theButton //ボタン self.aView002 = theView //テストビュー aWindow.contentView!.addSubview(theView) aWindow.orderFront(self)//前面に aWindow.makeKeyAndOrderFront(self)//表示 }
編集時のバージョン
OS X 10.11
Swift2.0