UIPopoverController 箭头与我的 UINavigationBar 不一样的白色

UIPopoverController arrow not the same white as my UINavigationBar

所以我遇到的问题是 UIPopoverController 的箭头颜色与 UINavigationBar 颜色不同。如果你看图片,白色上有轻微的阴影,你可以看到它不是同一个白色:

这只发生在 iOS 8 而不是 7,在 7 它按预期工作。

- (UIPopoverController *)showPopoverController:(UIViewController *)controller fromBarButtonItem:(UIBarButtonItem *)view
{
    UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:controller];
    UIPopoverController *popoverController = [[UIPopoverController alloc] initWithContentViewController:navController];

    //  controller.view.frame = CGRectMake(0, 0, 320, 400);

    AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];

    appDelegate.popoverController = popoverController;
    CGSize size = CGSizeMake(controller.view.frame.size.width, controller.view.frame.size.height + 44.0);
    [navController setPreferredContentSize:size];
    [popoverController setPopoverContentSize:size];
    [popoverController presentPopoverFromBarButtonItem:view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
    [navController.navigationBar setBarTintColor:[UIColor whiteColor]];
    [popoverController setBackgroundColor:[UIColor whiteColor]];

    return popoverController;
}

我觉得这行有问题

[popoverController setBackgroundColor:[UIColor whiteColor]];

箭头颜色为UIPopoverController的背景颜色

所以最后我需要这段代码

self.navigationController.navigationBar.translucent = NO;