1

モーダルに表示している iPad に UIViewController があります。

ただし、それを閉じた後、デバイスを前後に回転させない限り、それを表示したビュー コントローラーは向きが変わらず、下にあるビュー コントローラーが変更されていないかのように動作します。

モーダル ビュー コントローラーでこれらのメソッドを使用しています。

- (BOOL)shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation)interfaceOrientation {
  [self updateUI];
    return YES;
}

- (BOOL)shouldAutorotate {
  [self updateUI];
    return YES;
}

-(NSUInteger)supportedInterfaceOrientations{
  return UIInterfaceOrientationMaskAll;
}

-(void) updateUI{

}

基礎となる UINavigationController コード (モーダル ビュー コントローラーが閉じられると、適切に変更されないコード):

- (BOOL)shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation)interfaceOrientation {
  [self adjustUIForOrientation:interfaceOrientation];
    return YES;
}

- (BOOL)shouldAutorotate {
  [self adjustUIForOrientation:[self preferredInterfaceOrientationForPresentation]];
    return YES;
}

-(NSUInteger)supportedInterfaceOrientations{
  return UIInterfaceOrientationMaskAll;
}


- (void) adjustUIForOrientation: (UIInterfaceOrientation)interfaceOrientation {
  if(UIDeviceOrientationIsPortrait(interfaceOrientation)) {
    [_landscapeTemplate hide];
    [_portraitTemplate show];
    _activeTemplate = _portraitTemplate;
  } else {
    [_portraitTemplate hide];
    [_landscapeTemplate show];
    _activeTemplate = _landscapeTemplate;
  }
}

-(IBAction) signInButtonTouched: (id) sender{
  if (![Session shared].loggedInUser){
    UserProfileLoginViewController *userProfileLoginVC = [[[UserProfileLoginViewController alloc] initWithNibName:@"UserProfileLoginViewController" bundle:nil] autorelease];
    userProfileLoginVC.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
    self.modalPresentationStyle = UIModalPresentationCurrentContext;
    //self.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
    [self presentViewController:userProfileLoginVC animated:YES completion:nil];

     // [self pushViewController:userProfileLoginVC animated:YES];
    [userProfileLoginVC.emailTextField becomeFirstResponder];
  }
  else [[Session shared] explicitEnd];
}

これを機能させる方法はありますか?基本的に、モーダルView Controllerを提示したView Controllerは、それ自体に転送された回転呼び出しを取得していないようです。

4

0 に答える 0