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

有点hacky,但适用于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 回答