2012-04-24 5 views
4

Window에서 크기를 변경할 때 메서드 호출은 무엇입니까? 내가 aboud windowDidResize:을 somesing 찾을 그래서 내가 NSWindowDidResizeNotification를 사용할 필요 발견 창 크기 변경시 NSWindow 이벤트

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

일을 시도,하지만 난 NSNotification와 함께 처음으로 일을하고 나쁜 이것에 대해 이해합니다. 누군가 내 이벤트에 대한 전체 예제를 쓸 수 있습니까?

답변

11

-windowDidResize: 메서드는 창 대리자에서 호출됩니다. 창에 대한 대리자를 게시 한 메서드가있는 개체입니까?

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

또 다른 방법은 새로운 블록을 사용하는 것입니다 관찰자가 더 이상 관심이 또는 할당 해제되고 없을 때,

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(windowDidResize:) 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