iPad 용 자체 분할보기 컨트롤러를 만들었습니다. 내 자신을 만드는 내 목적은 사용자가 마음대로 왼쪽 통증을 열거 나 닫을 수있게하는 것입니다. 내가 겪고있는 문제는 내 오른쪽 통증에있는 뷰 컨트롤러를 변경하여 애니메이션을 적용 할 수있는 방법을 찾을 수 없다는 것입니다. 분할보기 컨트롤러에서보기에 애니메이션을 적용하지만 오른쪽 창에있는 다른 모든 하위보기 컨트롤러는보기를 움직이지 않습니다. 나는 뷰를 전환하지 않으므로 이러한 메서드 중 하나를 사용할 수 없으며 방향을 변경하지 않으므로 이러한 메서드가 해제됩니다. (그래도 어쨌든 시도했지만 작동하지 않았습니다.) 누구든지이 일을 할 수있는 방법을 알고 있습니까?UIViewController 컨테이너 하위 컨트롤러 애니메이션
- (void) setShowLeftPane:(BOOL)showLeftPane{
if (_showLeftPane != showLeftPane){
_showLeftPane = showLeftPane;
//Alert viewcontrollers and perform animation
if (showLeftPane) [_leftController viewWillAppear:YES];
else [_leftController viewWillDisappear:YES];
[UIView animateWithDuration:.25 animations:^{
[self layoutViews];
[_rightController viewWillLayoutSubviews];
} completion:^(BOOL fin){
[_rightController viewDidLayoutSubviews];
if (_showLeftPane) [_leftController viewDidAppear:YES];
else [_leftController viewDidDisappear:YES];
}];
//Switch out the appropriate pane button view
[_showLeftPane ? _openLeftPane : _closeLeftPane removeFromSuperview];
[self.view addSubview:_showLeftPane ? _closeLeftPane : _openLeftPane];
}
}
현재 내 오른쪽 창보기 컨트롤러는 UINavigationController가, 그래서 주식 클래스 처리 해요 :
현재 애니메이션을 시작하는 내 코드입니다. 나는 그것의보기 컨트롤러를 테스트하는 것을/그것의보기 컨트롤러에 보내는 그것들의 애니메이션을 수행 할 수 있도록 보내기 위해 순환하는 UINavigationController에 카테고리 메소드 viewWillAnimateSubviewLayoutWithDuration:(NSTimeInterval)interval
을 추가하는 것을 고려했습니다. 그러나 그것은 주식을 사용하는 방법이 있다면 특히 이상하지 않습니다. 행동 양식.
내 자신의 NavigationController 작성을 고려하고 있지만, 그렇게하지 않아도되는 일은별로하지 않습니다.