UIPopoverController 内に UINavigationController を埋め込んでいます。それは「機能します」が、ポップオーバーの上部の境界線は (その背後にある) ナビゲーション コントローラー バーのサイズに拡大し、境界線の影をメイン ビューの上部にキャストします (読み取り: ポップオーバーの上部の境界線の高さは 44 ポイントです)。 )。UINavigationController 内ではなく、クラス自体でポップオーバーをインスタンス化すると、すべて正常に動作します (ただし、もちろん、ナビゲーション コントローラーにはアクセスできません)。
どこが間違っていますか?
CGPoint buttonPoint = [self.mapView convertPoint:sender.center fromView:self.guideButtonScroll];
GuideViewController *guideViewController = [[GuideViewController alloc] initWithNibName:@"GuideView" bundle:nil];
UINavigationController *guideNavigationController = [[UINavigationController alloc] initWithRootViewController:guideViewController];
self.buttonbarPopoverController = [[UIPopoverController alloc] initWithContentViewController:guideNavigationController];
self.buttonbarPopoverController.delegate = self;
self.buttonbarPopoverController.popoverContentSize = CGSizeMake(320, 504);
[self.buttonbarPopoverController presentPopoverFromRect:CGRectMake(buttonPoint.x - 30, buttonPoint.y, 10, 10) inView:self.mapView permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];