转向UIPopoverController的视差

时间:2013-09-19 06:47:36

标签: ios uisplitviewcontroller uipopovercontroller ios7 parallax

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

在处于纵向模式的UISplitViewController中,这尤其难看。

  • 行不在同一级别。无论你如何握住它,最初的弹出窗口应该是
  • 以上4-5像素
  • 在弹出窗口的顶部/底部没有分隔符(甚至不是细线)。这导致popover看起来更加错失。

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

修改

Screen of SplitViewController in Portrait mode

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

1 个答案:

答案 0 :(得分:2)

有点hacky,但适用于UISplitViewController

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