2012-04-24 20 views
4

Windowでサイズを変更すると、何が呼び出されますか?私は、私はウィンドウのサイズを変更するとNSWindowイベントが発生する

- (void)windowDidResize:(NSNotification *)notification { 
    NSLog(@"test"); 
} 

をやってみてくださいaboud windowDidResize:をsomesing見つける は私がNSWindowDidResizeNotificationを使用する必要があるものを見つけたが、私はNSNotificationで初めてのために働くと悪いこれについて理解しています。 誰かが私のイベントの完全な例を書くことができますか?

答えて

11

-windowDidResize:メソッドは、ウィンドウデリゲートで呼び出されます。ウィンドウのデリゲートを投稿したメソッドを持つオブジェクトですか?あなたが行うことができますデリゲート以外のものについては

、:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(windowDidResize:) name:NSWindowDidResizeNotification object:theWindow]; 

と、観察者はもはや興味を持っているか、割り当てが解除されている:

[[NSNotificationCenter defaultCenter] removeObserver:self name:NSWindowDidResizeNotification object:theWindow]; 

別のアプローチは、新しいブロックを使用することですAPIをNSNotificationCenterに:

id observation = [[NSNotificationCenter defaultCenter] addObserverForName:NSWindowDidResizeNotification object:theWindow queue:nil usingBlock:^(NSNotification *){ 
    NSLog(@"test"); 
}]; 
// store/retain the observation for as long as you're interested in it. When it's deallocated, you stop observing. 
+0

ありがとう、ありがとう、私はどのメソッドで私は理解する必要がありますこれを書いて – Pavel

+0

私はこれをやって、すべての仕事 – Pavel

関連する問題