내 컨테이너 컨트롤러의 방향에 문제가 있습니다.아이폰 컨테이너 컨트롤러 방향 버그
컨트롤러간에 전환 할 때 이전 컨트롤러는 뒤로 전환 할 때 중단 된 방향을 그대로 유지하는 경향이 있습니다.
먼저, 사용하는 재현 방법 :
- 용기 컨트롤러 I 가로로 회전되게되면. 이 시점에서 모든 것이보기에는 좋게 보입니다.
- 세그먼트 컨트롤을 통해 하위 컨트롤러 # 2로 전환합니다.
- 이보기에서 가로로 돌아 가기. 모든 것이 여전히 정상적으로 보입니다.
- 하위 컨트롤러 # 1로 다시 전환하십시오. ContainerController의 viewDidLoad에의
:
self.child1 = [self.storyboard instantiateViewControllerWithIdentifier:@"first"];
self.child2 = [self.storyboard instantiateViewControllerWithIdentifier:@"second"];
[self addChildViewController:self.child1];
[self addChildViewController:self.child2];
[self.view addSubview:self.child1.view];
내가 아이 컨트롤러를 전환하는 방법 :
나는 transitionFromViewController가 자동으로 모든 돌볼 것이라고 가정했다
- (IBAction)segmentChanged:(id)sender
{
UIViewController *toVc, *fromVc;
UISegmentedControl *segment = sender;
if (segment.selectedSegmentIndex == 0)
{
toVc = self.child1;
fromVc = self.child2;
}
else
{
toVc = self.child2;
fromVc = self.child1;
}
[toVc willMoveToParentViewController:self];
[self transitionFromViewController:fromVc
toViewController:toVc
duration:0.0
options:UIViewAnimationOptionTransitionNone
animations:nil
completion:^(BOOL finished){
[toVc didMoveToParentViewController:self];
}];
}
. 아무도 내가 뭘 잘못하고 있는지 알아? transtionFromViewController 기능이 새보기 제대로
와우는 내가 생각했던 것보다 더 분명했습니다. 콘텐츠를 다시 그리지 않고 프레임 만 조정할 것이라고 생각했습니다. –