Cocoa API解説(macOS/iOS)

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

目次

setFrame:display:

INDEX>AppKit> NSWindow

ウインドウフレームをセットします

Objective-C

- (void)setFrame:(NSRect)windowFrame
         display:(BOOL)displayViews

Swift

func setFrame(_ windowFrame: NSRect,
      display displayViews: Bool)

解説

ウインドウフレームをセットします。
flagがYESならdisplayIfNeeded メッセージを送信します。
座標位置は±16,000、サイズは10,000までが有効です。

f:id:jjj777:20150319074806g:plain

返り値

なし

引数

ウインドウを表示する範囲
Objective-C

(NSRect)windowFrame

Swift

(_ windowFrame: NSRect

すぐ再描画するかYES/NO
Objective-C

display:(BOOL)displayViews

Swift

display displayViews: Bool

フレームワーク

ApplicationKit

クラス

NSWindow

使用可能

10.0

参照

frame
setFrameFromString:
setFrameOrigin:
setFrameTopLeftPoint:
setFrameUsingName:

関連記事(外部サイト)

更新時バージョン

10.10

例文

Objective-C

#import "Controller.h"

@implementation Controller

- (IBAction)pushButton:(id)sender
{
NSRect contentRect;

contentRect = [myWindow frame];

[myWindow setFrame:NSMakeRect(300.0,300.0,500.0,500.0) display:YES];

[info setStringValue:[NSString stringWithFormat:@"%.1f,%.1f,%.1f,%.1f",contentRect.origin.x,contentRect.origin.y,contentRect.size.width,contentRect.size.height]];

}
@end

Swift

    //NSWindow setFrame:display:
    func buttonAction056(sender: AnyObject){
        
        var theWindow : NSWindow = (sender as NSButton).window!
        
        theWindow.setFrame(NSMakeRect(100.0, 100.0, 500.0, 300.0), display: true)
        
        NSLog("x = %.2f,y = %.2f,w = %.2f,h = %.2f", Float(theWindow.frame.origin.x ),
            Float(theWindow.frame.origin.y),
            Float(theWindow.frame.size.width),
            Float(theWindow.frame.size.height))
        
    }
    @IBAction func function056(sender: AnyObject) {
        var aWindow : NSWindow = NSWindow(contentRect: NSMakeRect(0.0, 0.0, 300, 200),
            styleMask:  NSTitledWindowMask |
                NSClosableWindowMask |
                NSMiniaturizableWindowMask |
            NSResizableWindowMask,
            backing:    .Buffered,
            defer:      false)
        windowArray.addObject(aWindow) //ウインドウを保持するための配列に追加。アプリ終了時に配列は破棄
        
        //ボタンを作成
        var theButton : NSButton = NSButton(frame: NSMakeRect(100.0, 2.0, 100.0, 30.0))
        theButton.title = "Action"
        theButton.bezelStyle = NSBezelStyle.RoundedBezelStyle
        theButton.action = Selector("buttonAction056:")
        theButton.target = self
        aWindow.contentView.addSubview(theButton)
        
        //ウインドウの表示
        aWindow.center()//ウインドウをスクリーンの中心に
        aWindow.title = "ウインドウタイトル"//タイトル設定
        aWindow.orderFront(self)//前面に
        aWindow.makeKeyAndOrderFront(self)//表示
    }