2014-12-22 4 views
0

Core-plot ce0fa44812의 최신 버전과 관련 예제 코드를 살펴 보았습니다. 장치 방향을 지원하지만이 지원을 제공하는 데 사용 된 메커니즘을 확인할 수 없습니다. plist에 제공된 오리엔테이션 옵션을 봅니다.Core-plot에서 가로/세로 전환을 지원하는 방법

특히 실시간 플롯 예제에 관심이 있습니다. 그러나 세로에서 가로로 회전 할 때 경계를 변경하는 호출은 없습니다.

그래서 어떤 마법이 진행되고 있습니까? 변경되는 범위가 있습니다.

답변

1

해당 버전의 플롯 갤러리 예제 앱은 새로운 iOS 8 분할보기 컨트롤러가있는 스토리 보드를 사용하여 모든 레이아웃과 전환을 관리합니다. 각 스토리 보드 장면의 뷰는 자동 레이아웃을 사용하여 필요할 때 자동으로 크기를 조정합니다.

+0

나는 어디에서 무슨 일이 일어나고 있는지 알 수있는 휴식 지점을 둘 수 있다고 생각하지 않습니까? – user2196409

+0

'- [CPTLayer layoutSublayers]'에 중단 점을 넣을 수는 있지만 코어 플롯이하는 일을 보여줄뿐입니다. UIKit은 스토리 보드와 뷰 컨트롤러를 통해 대부분의 작업을 처리합니다. –

0

장치가 회전 할 때 hostingView의 프레임을 변경할 수 있습니다.

- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator: (id<UIViewControllerTransitionCoordinator>)coordinator { 

    [coordinator animateAlongsideTransition:^(id<UIViewControllerTransitionCoordinatorContext> context) { 
    UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation]; 

} completion:^(id<UIViewControllerTransitionCoordinatorContext> context) { 
    [self.hostingView setFrame:[self.view bounds]]; 
}]; 

    [super viewWillTransitionToSize:size withTransitionCoordinator:coordinator]; 
} 

그러면 가로보기로 변경됩니다.

그래프를 그리기 전에 장치를 세로로 유지해야합니다. 보기 컨트롤러를 설정해야합니다. 그렇지 않으면, 플롯이 가로 모드에서 세로 크기로 설정된다는 버그와 같은 것이 있습니다.

-(void)viewDidLayoutSubviews { 
    [self.hostingView setFrame:[self.view bounds]]; 
}