atr*_*eat 5 cocoa-touch popover uipopovercontroller ios presentviewcontroller
我在iOS中有一个菜单,我在popover中显示.我可以分别使用UIPopoverController和UIPopoverPresentation控制器在iOS7和iOs8中呈现一个popover.我遇到了一个问题,虽然当弹出窗口可见并且设备旋转时,弹出窗口在动画期间瞬间消失,然后在动画后重新出现.问题是,当弹出窗口重新出现时,其背景颜色被绘制为默认背景颜色.
我正在使用backgroundColor属性设置颜色.
self.popoverPresentationController.backgroundColor = [UIColor grayColor]; // iOS 8 style
Run Code Online (Sandbox Code Playgroud)
我90%肯定这实际上是Apple实施中的一个错误.我在backgroundColorafter rotation属性中看到的值是正确的,但绘制的像素不是.我想知道是否有其他人遇到过这个问题并找到了解决方法.如果雷达打开我会跟着它,如果不是,我会自己提交一个.
我将添加我如何呈现popover.在这两个版本中,我使用barButtonItem作为我的锚点.
[self.menuPopoverController presentPopoverFromBarButtonItem:item permittedArrowDirections:UIPopoverArrowDirectionAny animated:animated];
Run Code Online (Sandbox Code Playgroud)
这里是使用新的iOS8 UIPresentationPopoverController:
UIPopoverPresentationController *popover = self.popoverPresentationController;
popover.permittedArrowDirections = UIPopoverArrowDirectionAny;
popover.barButtonItem = item;
[viewController presentViewController:self animated:YES completion:nil]; // I'm presenting a view controller from within itself.
Run Code Online (Sandbox Code Playgroud)