macOS/iOS API解説

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

目次

convertRectToBacking:

INDEX>AppKit>NSScreen

バイスピクセルとディスプレイの座標システムとの変換

Objective-C

- (NSRect)convertRectToBacking:(NSRect)aRect

Swift

func convertRectToBacking(_ aRect: NSRect) -> NSRect

解説

バイスピクセルとディスプレイの座標システムとの変換

返り値

Objective-C

NSRect

Swift

NSRect

引数

Objective-C

(NSRect)aRect

Swift

(_ rect: NSRect)

フレームワーク

ApplicationKit

クラス

NSScreen

使用可能

10.7-

更新時のバージョン

OS X 10.14.5
SWIFT4.0

参照

関連記事(外部サイト)

例文

Objective-C

Swift4.0

    @IBAction func function010(_ sender: Any) {
        let screenArray : [NSScreen] = NSScreen.screens
        for value in screenArray {
            let rect : NSRect = value.convertRectToBacking(NSMakeRect(0.0, 0.0,100.0, 100.0))
            print("rect = (\(rect.origin.x) ,\(rect.origin.y)(\(rect.size.width),\(rect.size.height)))")
            }
        //rect = (0.0 ,0.0(100.0,100.0))  //<- Normal Display
        //rect = (0.0 ,0.0(200.0,200.0))  //<- MacBooK retina Display
        //rect = (0.0 ,0.0(100.0,100.0))  //<- Normal Display
    }


Swift

    //NSScreen convertRectToBacking
    @IBAction func function006(sender: AnyObject) {
        let theScreen : NSScreen = NSScreen.mainScreen()!
        let newRect : NSRect = theScreen.convertRectToBacking(NSMakeRect(0.3, 0.0, 100.3, 123.5))
        NSLog("newRect = (x=%.2f,y=%.2f,w=%.2f,h=%.2f)",
            Float(newRect.origin.x),
            Float(newRect.origin.y),
            Float(newRect.size.width),
            Float(newRect.size.height) )
        //通常ディスプレイの場合(倍率1.0) -> newRect = (x=0.30,y=0.00,w=100.30,h=123.50)

    }