Tom*_*ing 3 uipopovercontroller ios uipopoverbackgroundview
我想更改UIPopoverPresentationController用于指向其源的箭头的颜色.我能看到这样做的唯一方法是自己子类化UIPopoverBackgroundView并编写drawRect和绘制popover边框和箭头.这是一种痛苦,因为默认的弹出窗口中有一些细节,比如一切都是圆角.而且我希望尽可能让它在平台上感受到家的感觉.
我是否真的必须绘制自己的弹出箭头才能改变箭头的颜色?
更新:我试过设置backgroundColor的UIPopoverPresentationController,但它似乎改变无处不在的箭头可能绘制颜色.我以前看过它的工作原理,但我无法确定是什么让它起作用.查看将颜色设置为红色的屏幕截图.蓝色是弹出窗口中导航控制器的内容.它应该指向按钮.
Dan*_*all 10
该UIPopoverPresentationController的backgroundColor财产应处理为你
我已经多次使用过这种方法,但从未见过截图中的内容.您确定要使用popoverPresentationController.backgroundColor而不是在视图或容器上设置不同的背景颜色吗?下面是非居中的popover箭头的屏幕截图.视图控制器背景为绿色,popoverPresentationController.backgroundColor为红色.旁边显示设置值的代码.
我看了你发布的项目,发现了问题(虽然我不完全确定为什么会出现这个问题).您正在所backgroundColor提供的视图控制器中设置弹出窗口控制器的属性viewWillAppear:.我怀疑在演示发生后设置这样的背景颜色是触发iOS 10之前的错误的原因.
如果您backgroundColor在呈现视图控制器的onPopover:方法中设置弹出窗口控制器控件,您也在设置sourceView和sourceRect属性(在实际调用之前presentViewController:),一切正常.
| 归档时间: |
|
| 查看次数: |
2485 次 |
| 最近记录: |