すべてナビゲーションコントローラーで制御されるいくつかの画面でポップオーバーを作成しました。これが行われた例を見てきましたが、これらの例では、画面を切り替えると、タイトルとナビゲーション バーの「完了」ボタンが常に同じ位置にあり、アニメーション化されません。発生する唯一の変更は、表示される「戻る」ボタンです。
同じ動作を模倣しようとしましたが、正確ではありません。
画面が遷移するたびに、タイトルと完了ボタンが左にスワイプし、ビューの通常のアニメーションと同じようにフェードします。私はそれらを置いたままにし、ビューだけをアニメーション化する必要があります。また、自動生成される「戻る」ボタン (私は作成していませんが、ナビゲーション バーによって作成されています) には、前の画面のタイトルが付けられます。単純に「戻る」必要があります。自動生成されたボタンをカスタマイズするにはどうすればよいですか? または、少なくともその作成を停止して、自分でボタンを作成できるようにしますか?
いくつかのコード...
//popover and navbar creation
SettingsPopoverView *settingsPopoverView = [[SettingsPopoverView alloc] initWithNibName:@"SettingsPopoverView" bundle:[NSBundle mainBundle]];
UINavigationController *nav = [[UINavigationController alloc]
initWithRootViewController:settingsPopoverView];
popover = [[UIPopoverController alloc] initWithContentViewController:nav];
popover.delegate = self;
popover.popoverContentSize = CGSizeMake(320, 497);
[popover presentPopoverFromRect:Button.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
その後、コードの後半で、ユーザーが最初のポップオーバー ウィンドウで選択を行うと、
//screen navigation call when selection is made
[self.navigationController pushViewController:selectionView animated:YES];
繰り返しますが、このコードのグループ化によりナビゲーション バーがアニメーション化され、次のビューで間違ったラベルの戻るボタンが自動生成されます。ナビゲーション バーだけのアニメーションを停止し、戻るボタンのラベルを変更する必要があります。
ありがとう