2013-03-14 5 views
0

이 코드가 다른 객체로부터의 UIViewController의 KVO에 의해 인터페이스 방향을 관찰하기 위해 노력하고있어 :KVO - 인터페이스 방향 속성

[((UIViewController *)self.delegate) addObserver:self forKeyPath:@"interfaceOrientation" options:NSKeyValueObservingOptionNew context:NULL]; 

및 기능을 구현이 :

-(void)observeValueForKeyPath:(NSString*)keyPath ofObject:(id)object change:(NSDictionary*)change context:(void*)context 
{ 
if ([keyPath isEqual:@"interfaceOrientation"]) 
    { 
    // do something  
    } 
} 

이 방법은 호출 오직 처음으로, 비록 내가 전화를 회전하는 동안 대리인의 속성 interfaceOrientation을 볼 수 있지만.

왜?

도와주세요!

감사합니다 !!!!

답변

1

왜 KVO에서이 작업을 수행하고 있습니까? UIViewController는 이것을 지원합니다. 이 뷰 컨트롤러의 뷰의 서브 뷰가 아닌 경우

//iOS6 only 
- (BOOL)shouldAutomaticallyForwardRotationMethods 
{ 
    return YES; 
} 

또한 addChildViewController:

+1

봐? 그것은 윈도우의 하위 뷰인 뷰입니다. –