在iOS 7中,UIPopoverControllers具有视差效果(前景悬停在背景上)。

在处于肖像模式的UISplitViewController中,这尤其难看。

  • 行不在同一级别。无论您如何握住它,最初的弹出框都比
  • 高4-5像素
  • 在弹出框的顶部/底部没有分隔符(甚至没有细线)。这将导致弹出窗口看起来更加错位。

  • 有没有人为此找到一个好的解决方法/修复程序?

    编辑:

    编辑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;
    }
    

    最佳答案

    有点hacky,但适用于UISplitViewController:

    - (void)splitViewController:(UISplitViewController *)svc popoverController:(UIPopoverController *)pc willPresentViewController:(UIViewController *)aViewController
    {
        UIView *popoverView = [[aViewController.view superview] superview];
        popoverView.motionEffects = @[];
    }
    

    关于ios - UIPopoverController的视差转向,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18887899/

    10-14 19:55