Cocoa API解説(macOS/iOS)

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

目次

cascadeTopLeftFromPoint:

INDEX>AppKit> NSWindow

カスケード配置する(少しずつずらしながら表示する)ための次の位置を返します

Objective-C

- (NSPoint)cascadeTopLeftFromPoint:(NSPoint)topLeft

Swift

func cascadeTopLeftFromPoint(_ topLeft: NSPoint) -> NSPoint

解説

カスケード配置する(少しずつずらしながら表示する)ための次の位置を返します。
タイトルバーが見えるようにウインドウの左上の座標を移動させます。

f:id:jjj777:20150319072215p:plain

返り値

Objective-C

(NSPoint)

Swift

NSPoint

次のウインドウための位置

引数

基準となるウインドウ(レシーバ)の位置を変更してから計算するかどうか
NSZeroPointであれば、移動しない。
Objective-C

(NSPoint)topLeft

Swift

(_ topLeft: NSPoint)


f:id:jjj777:20150319073849p:plain

フレームワーク

ApplicationKit

クラス

NSWindow

使用可能

10.0

参照

- setFrameTopLeftPoint:

関連記事(外部サイト)

更新時バージョン

10.10

例文

Objective-C

#import "Controller.h"

@implementation Controller

- (IBAction)pushButton:(id)sender
{
NSPoint nextpoint;

nextpoint = [myWindow cascadeTopLeftFromPoint:NSMakePoint(50.0,500.0)];

[info setStringValue:[NSString stringWithFormat:@"%.1f,%.1f",nextpoint.x,nextpoint.y]];
}
@end

Swift

    //NSWindow cascadeTopLeftFromPoint()
    @IBAction func function055(sender: AnyObject) {
        var theWindow1 : NSWindow = NSWindow(contentRect: NSMakeRect(0.0, 0.0, 300, 200), styleMask: NSTitledWindowMask | NSClosableWindowMask | NSMiniaturizableWindowMask | NSResizableWindowMask, backing: .Buffered, defer: false)
        windowArray.addObject(theWindow1) //ウインドウを保持するための配列に追加。アプリ終了時に配列は破棄
        var theWindow2 : NSWindow = NSWindow(contentRect: NSMakeRect(0.0, 0.0, 300, 200), styleMask: NSTitledWindowMask | NSClosableWindowMask | NSMiniaturizableWindowMask | NSResizableWindowMask, backing: .Buffered, defer: false)
        windowArray.addObject(theWindow2) //ウインドウを保持するための配列に追加。アプリ終了時に配列は破棄
        
        theWindow1.center()//ウインドウをスクリーンの中心に
        theWindow1.title = "ウインドウ1"//タイトル設定
        theWindow1.orderFront(self)//前面に
        theWindow1.makeKeyAndOrderFront(self)//表示
        
        theWindow2.setFrameTopLeftPoint(theWindow1.cascadeTopLeftFromPoint(NSZeroPoint))
        theWindow2.title = "ウインドウ2"//タイトル設定
        theWindow2.orderFront(self)//前面に
        theWindow2.makeKeyAndOrderFront(self)//表示
        
    }