constrainFrameRect:toScreen:
ウインドウの位置を調整するメソッド
- (NSRect)constrainFrameRect:(NSRect)frameRect
toScreen:(NSScreen *)screen
func constrainFrameRect(_ frameRect: NSRect, toScreen screen: NSScreen?) -> NSRect
解説
このメソッドを呼び出す必要はありません。
自動的に調整するのを防ぐためにサブクラスでオーバーライドすることができます。
サンプル
サブクラスでオーバーライドすることで、ウインドウを移動しても指定の大きさで指定の場所に戻ってしまう。
フレームワーク
ApplicationKit
クラス
NSWindow
使用可能
10.0
参照
関連記事(外部サイト)
更新時バージョン
10.10
例文
#import "MyWindow.h" @implementation MyWindow //ウインドウのデリゲート -(NSRect)constrainFrameRect:(NSRect)frameRect toScreen:(NSScreen *)aScreen { NSLog(@"constrainFrameRect"); return NSMakeRect(0,650,100,100); } @end
Swift
サブクラスでオーバーライドして、自動調整を妨害する
import Cocoa class MyWindow: NSWindow { override func constrainFrameRect(frameRect: NSRect, toScreen screen: NSScreen?) -> NSRect { NSLog("constrainFrameRect call") return NSMakeRect(100.0, 100.0, 300.0, 200.0) } }