Popover箭头与viewcontroller背景颜色不同

时间:2013-10-21 17:39:07

标签: objective-c xcode storyboard popover

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

5 个答案:

答案 0 :(得分:41)

以下是我如何解决这个问题:

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

这会将popover与内容背景的颜色相匹配。

答案 1 :(得分:18)

for ios 9.0 + (cpvc是你的ViewController)

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

答案 2 :(得分:5)

您使用的是IOS7 sdk吗?

也许你可以试试:

[popover setBackgroundColor:[UIColor whiteColor]];

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

答案 3 :(得分:1)

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

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

答案 4 :(得分:1)

迅速4.2

navController?.popoverPresentationController?.backgroundColor = .black