macOS/iOS API解説

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

目次

enableFlushWindow

INDEX>AppKit> NSWindow

ウインドウが描き変わるようにします

Objective-C

- (void)enableFlushWindow

Swift

func enableFlushWindow()

解説

ウインドウが描き変わるようにします。
disableFlushWindow によって無効だったflushWindowメソッドを再び有効にします。
ビューの操作をする場合などにちらつきの原因となる再描画を、disableFlushWindow()からenableFlushWindow()までの間で停止します。

下記のサンプルでは「Not Flush」ボタンを押すとテキストフィールドの内容を書き換えている間はウインドウの再描画をしないようにします
f:id:jjj777:20150403230251g:plain

Swift

func buttonAction087_noflush(sender: AnyObject){
        var aWindow : NSWindow = (sender as NSButton).window!
        aWindow.disableFlushWindow()
            for textField in textFieldArray {
                aWindow.makeFirstResponder(textField)
                textField.display()
                textField.stringValue = "n"
            }
        aWindow.enableFlushWindow()
    }

返り値

なし

引数

なし

フレームワーク

ApplicationKit

クラス

NSWindow

使用可能

10.0-

参照

更新時のバージョン

OS X 10.10

関連記事(外部サイト)

例文

#import "Controller.h"

@implementation Controller
- (IBAction)cache:(id)sender;//ボタンを押す
{
[myWindow cacheImageInRect:NSMakeRect(0,0,100,100)];
}
- (IBAction)restore:(id)sender;//ボタンを押す
{
[myWindow restoreCachedImage];
}
- (IBAction)onOff:(id)sender;
{

    if ([myWindow isFlushWindowDisabled]){
        [myWindow enableFlushWindow];
        NSLog(@"YES");
    }else{
        [myWindow disableFlushWindow];
        NSLog(@"NO");
    }

}
@end