【发布时间】:2016-04-18 00:54:29
【问题描述】:
我正在尝试在 iPhone 上使用 UIPopoverPresentationController 类呈现弹出框。 我需要在弹出框内显示导航控制器。所以我做了以下事情:
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:viewController];
viewController.preferredContentSize = size;
navigationController.modalPresentationStyle = UIModalPresentationPopover;
self.currentPopoverController = navigationController.popoverPresentationController;
self.currentPopoverController.backgroundColor = [UIColor commonApplicationBgColor];//My common app blue color
self.view.alpha = 0.7;
[self presentViewController:navigationController animated:YES completion:nil];
它正在工作,但箭头颜色与弹出导航栏背景颜色不同。我检查了他们使用相同的 [UIColor commonApplicationBgColor],但看起来箭头颜色更暗。尝试为 self.currentPopoverController.backgroundColor 设置 alpha,但它仍然有错误的颜色。 请检查图像:
【问题讨论】:
-
你是从rect展示它吗?
-
是的,代码如下: self.currentPopoverController.delegate = self; self.currentPopoverController.sourceView = self.view; self.currentPopoverController.sourceRect = 框架;
-
自 iOS 7 以来,Popover 效果不太好。Apple 在自己的应用程序中并没有大量使用它,这就是结果。
标签: ios objective-c iphone uipopovercontroller