0

コードは次のとおりです。

OptionsTableViewController *optionsTableVc = [[OptionsTableViewController alloc] initWithItems:itemNames andSelectedItem:-1 andOrigin:-1];

UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:optionsTableVc];
optionsTableVc.delegate = self;
[self presentViewController:nav animated:YES completion:nil];

OptionsTableViewControllerUITableViewControllerは、単純なオブジェクトであるから継承するカスタム ビュー コントローラです。

このコードは、縦向き、右に 1 回回転するとき、または左に 1 回回転するときにうまく機能しますが、向きが UpsideDown に変わった後にこのコードを実行しようとすると、動作が停止します。反転」 (つまり、上下逆さまから逆さま、または横向き左から横向き右) になり、すぐに消えます。

4

2 に答える 2

1

おそらく変更しようとしているView Controllerは、upsideDownの次の関数にyesを返していません

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{

}

目的のView Controllerにこの関数がまだ含まれていない場合は、追加して、サポートするすべての方向に対してyesを返す必要があります(おそらくすべてのように聞こえます)。すべての向きをサポートしたい場合は、この関数から yes を返すだけで問題が解決するはずです。

于 2013-01-10T04:07:19.127 に答える
0

この行を追加すると、奇妙な動作が修正されました。

nav.modalPresentationStyle = UIModalPresentationPageSheet;
于 2013-01-10T11:11:45.277 に答える