Cocoa API解説(macOS/iOS)

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

目次

resizeFlags

INDEX>AppKit> NSWindow

どのモディファイアキーが押されているかを返します

Objective-C

@property(readonly) NSInteger resizeFlags

Swift

var resizeFlags: Int { get }

解説

ウインドウのサイズを変更しようとするときモディファイアキーが押されているかを返します。
フラグのリストはNSEventの modifierFlags メソッドにあります。
ウインドウのデリゲートメソッドwindowWillResize:toSize:で使うと、ウインドウのリサイズの量や方向をコントロールする事が出来ます。

【フラグ】
● NSAlphaShiftKeyMask 
● NSShiftKeyMask     シフト
● NSControlKeyMask コントロール
● NSAlternateKeyMask alt
● NSCommandKeyMask コマンド
● NSNumericPadKeyMask Num
● NSHelpKeyMask ヘルプ
● NSFunctionKeyMask ファンクションキー

● NSControlKeyMask  コントロールキー
● NSAlternateKeyMask オプション(alt)キー
● NSCommandKeyMask コマンドキー
● NSAlphaShiftKeyMask
● NSShiftKeyMask
● NSNumericPadKeyMask
● NSHelpKeyMask
● NSFunctionKeyMask
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
● NSDeviceIndependentModifierFlagsMask

Swift
●Controllキー
0b000001

●Left Shiftキー
0b000010

●Right Shiftキー
0b000100

●Command(⌘)キー
0b001000
●5

●Optionキー
0b100000

●9

●10

●11

●12

●13

●14

●15

●16

返り値

( int )

整数値

引数

フレームワーク

ApplicationKit

クラス

NSWindow

使用可能

10.0

参照

更新時のバージョン

OS X 10.10

関連記事(外部サイト)

例文

#import "Controller.h"

@implementation Controller

- (IBAction)pushButton:(id)sender
{
NSLog([NSString stringWithFormat:@"%d",[myWindow resizeFlags]]);
}

-(NSSize)windowWillResize:(id)sender toSize:(NSSize)proposedFrameSize
{
if ([myWindow resizeFlags] == NSCommandKeyMask){
return NSMakeSize(100,100);
}else{
return proposedFrameSize;
}
}
@end

Swift

    //NSWindow resizeFlags
    func windowWillResize(sender: NSWindow, toSize frameSize: NSSize) -> NSSize {
        NSLog("%u",sender.resizeFlags)

        if ((sender.resizeFlags & 0b000001)>0){
            NSLog("Controll")
        }
        if (((sender.resizeFlags & 0b000010) >> 1)>0){
            NSLog("Left Shift")
        }
        if (((sender.resizeFlags & 0b000100) >> 2)>0){
            NSLog("Right Shift")
        }
        if (((sender.resizeFlags & 0b001000) >> 3)>0){
            NSLog("Left Command")
        }
        if (((sender.resizeFlags & 0b010000) >> 4)>0){
            NSLog("Right Command")
        }
        if (((sender.resizeFlags & 0b100000) >> 5)>0){
            NSLog("Option")
        }
        if (((sender.resizeFlags & 0b00001000000) >> 6)>0){
            NSLog("7")
        }
        if (((sender.resizeFlags & 0b00010000000) >> 7)>0){
            NSLog("8")
        }
        if (((sender.resizeFlags & 0b00100000000) >> 8)>0){
            NSLog("capslock")
        }
        if (((sender.resizeFlags & 0b01000000000) >> 9)>0){
            NSLog("10")
        }
        if (((sender.resizeFlags & 0b10000000000) >> 10)>0){
            NSLog("11")
        }
        if (((sender.resizeFlags & 0b0000100000000000) >> 11)>0){
            NSLog("12")
        }
        if (((sender.resizeFlags & 0b0001000000000000) >> 12)>0){
            NSLog("13")
        }
        if (((sender.resizeFlags & 0b0010000000000000) >> 13)>0){
            NSLog("14")
        }
        if (((sender.resizeFlags & 0b0100000000000000) >> 14)>0){
            NSLog("15")
        }
        if (((sender.resizeFlags & 0b1000000000000000) >> 15)>0){
            NSLog("16")
        }
        if (((sender.resizeFlags & 0b00010000000000000000) >> 16)>0){
            NSLog("17")
        }
        

        return frameSize
    }