Popover箭头与viewcontroller背景颜色不同

问题描述 投票:20回答:5

标题说明了一切。我有一个视图控制器连接到按钮作为弹出窗口。视图控制器的背景颜色为灰色,但指向按钮的箭头颜色为白色。任何帮助将非常感激。

objective-c xcode storyboard popover
5个回答
41
投票

这是我如何解决它:

popover = [[UIPopoverController alloc] initWithContentViewController:contentViewController];
popover.backgroundColor = contentViewController.view.backgroundColor;

这将弹出窗口与内容背景的颜色相匹配。


18
投票

for ios 9.0 +(cpvc是你的ViewController)

cpvc.popoverPresentationController.backgroundColor = cpvc.view.backgroundColor;

5
投票

你在使用IOS7 sdk吗?

也许你可以尝试:

[popover setBackgroundColor:[UIColor whiteColor]];

并确保将内容视图控制器的背景颜色设置为白色。


1
投票

我在iOS7中遇到了同样的问题(丑陋的白色“箭头”)。这似乎解决了我。 UIPopoverController在iOS7之前不支持setBackgroundColor,因此检查。

if ([popoverController respondsToSelector:@selector(setBackgroundColor:)])
{
   [popoverController setBackgroundColor:[UIColor clearColor]];
}

1
投票

迅捷4.2

navController?.popoverPresentationController?.backgroundColor = .black
© www.soinside.com 2019 - 2024. All rights reserved.