2

navControllerがUIPopoverControllerに表示されると、UIBarButtonItemがナビゲーションバーで切り取られます。これを引き起こしているものは何ですか?

問題のスクリーンショット:http ://www.flickr.com/photos/92771610@N02/8432176079

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

UIViewController *vc = [[[UIViewController alloc] init] autorelease];

UIBarButtonItem *saveButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSave target:self action:@selector(saveAction:)];

vc.navigationItem.rightBarButtonItem = saveButton;

UINavigationController *navController = [[[UINavigationController alloc] initWithRootViewController:vc] autorelease];

UIPopoverController *popoverController = [[UIPopoverController alloc] initWithContentViewController:navController];
popoverController.delegate = self;

[popoverController presentPopoverFromRect:buttonThatMakesThePopoverAppear.frame
                                   inView:self.view.superview
                 permittedArrowDirections:UIPopoverArrowDirectionAny
                                 animated:YES];

ありがとう、ゴンザロ

4

2 に答える 2

2

これは、iOS ヒューマン インターフェイス ガイドラインを尊重していないためです。

これらの要素のカスタムUIBarButtonItemビューとカスタム背景画像は、高さ 30 ピクセルにする必要があります。カスタム アートワークはそれほど大きくないはずなので、ポップオーバーのベベル ボーダーはカスタム アートワークを正しくクリッピングしています。

を介して表示されない場合UIPopoverController、これらのボタンは iOS 6 で正常に表示されますが、境界をクリッピングするビューがないためです。iOS 5 ではこれが発生することに注意してください。問題ないように見えるはずですが、必ず古いバージョンでテストしてください。

于 2013-05-14T19:26:05.670 に答える