そのため、私のユニバーサル アプリには、ユーザーがシステムから既存のメモのリスト (単純な Web サービスを介して取得) を確認し、必要に応じて新しいメモを作成できるセクションがあります。したがって、iPhone の場合は非常にシンプルなレイアウトで、リストを表示するための TableViewController で、新しい項目を追加するためのモーダルビューを表示する NavigationBar に「追加」ボタンがあります。ただし、iPad では、同じレイアウトに多くの無駄なスペースがあるため、popOver メソッドを使用してリストを popOver に表示し、そこから追加できるようにすることにしました。私の問題は、ユーザーが PopOver ビュー内の [追加] ボタンをクリックすると、モーダル ビューがポップオーバー ビュー内ではなく全画面表示になることです。これまでのコードは次のとおりです。
-(void) AddButtonPressed:(id)sender {
NewNoteVC *newNote = [[[NewNoteVC alloc] initWithNibName:@"NewNoteVC" bundle:nil] autorelease];
newNote.defaultClientID = defaultClientID;
UINavigationController *navCon = [[[UINavigationController alloc] initWithRootViewController:newNote] autorelease];
if ([isPopOver isEqualToString:@"YES"]) {
[navCon setModalInPopover:YES];
[self.navigationController setModalInPopover:YES];
[self.navigationController presentModalViewController:navCon animated:YES];
}
else {
[self.navigationController presentModalViewController:navCon animated:YES];
}
}
「isPopOver」文字列は、この TableView を呼び出した前の画面から送信された単なるプレースホルダーです (パフォーマンスを向上させるためにこれをブール値に切り替えることができることはわかっています。これをすぐに試してみました)。どこかを台無しにしたことは知っていますが、これを正しく機能させるために必要な設定がわかりません。