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;
所以我遇到的问题是 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;