1

iOS 7 では、UIPopoverControllers に視差効果 (前景が背景の上に重なる) があります。

これは、縦向きモードの UISplitViewController では特に醜いです。

  • ラインは同じレベルではありません。どのように持っていても、最初はポップオーバーが本来あるべき場所より 4 ~ 5 ピクセル上にあります。
  • ポップオーバーの上部/下部にセパレーター (ヘアラインでさえありません) はありません。これにより、ポップオーバーがさらに見当違いに見えます。

これに対する適切な回避策/修正を見つけた人はいますか?

編集:

縦モードの SplitViewController の画面

編集2:

UIActionSheet にもこの視差効果があります。

編集3:

何らかの方法でマスターのプレゼンテーションに関連する私のデリゲート メソッド

- (void)splitViewController:(UISplitViewController *)splitController willHideViewController:(UIViewController *)viewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)popoverController
{
    barButtonItem.title = NSLocalizedString(@"Übersicht", nil);
    [self.navigationItem setLeftBarButtonItem:barButtonItem animated:YES];
    self.masterPopoverController = popoverController;
}
4

1 に答える 1

2

少しハックですが、次の場合に機能しUISplitViewControllerます:

- (void)splitViewController:(UISplitViewController *)svc popoverController:(UIPopoverController *)pc willPresentViewController:(UIViewController *)aViewController
{
    UIView *popoverView = [[aViewController.view superview] superview];
    popoverView.motionEffects = @[];
}
于 2013-10-17T10:02:40.087 に答える