Objective c 弹出箭头的颜色与viewcontroller背景的颜色不同

Objective c 弹出箭头的颜色与viewcontroller背景的颜色不同,objective-c,xcode,storyboard,popover,Objective C,Xcode,Storyboard,Popover,标题真的说明了一切。我有一个视图控制器连接到一个按钮作为一个弹出窗口。视图控制器的背景色为灰色,但指向按钮的箭头的颜色为白色。非常感谢您的帮助。您是否正在使用IOS7 sdk 也许你可以试试: [popover setBackgroundColor:[UIColor whiteColor]]; 并确保将“内容视图”控制器的背景色设置为白色。以下是我的解决方法: popover = [[UIPopoverController alloc] initWithContentViewControlle

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

您是否正在使用IOS7 sdk

也许你可以试试:

[popover setBackgroundColor:[UIColor whiteColor]];

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

以下是我的解决方法:

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

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

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

if ([popoverController respondsToSelector:@selector(setBackgroundColor:)])
{
   [popoverController setBackgroundColor:[UIColor clearColor]];
}
适用于ios 9.0+ (cpvc是您的ViewController)

swift 4.2

navController?.popoverPresentationController?.backgroundColor = .black

1周后得到答案@mahboudz Thankst此功能在iOS 8.0+中提供,可以从当前VC中的prepareForSegue调用。
navController?.popoverPresentationController?.backgroundColor = .black