iGr*_*Dav 4 objective-c ipad uipopovercontroller ios
当设置backgroundColor到[UIColor blackColor]的UIPopoverController一切都很好,并在iOS7和iOS8上正确地呈现.
我通过它呈现它
[aPopover presentPopoverFromBarButtonItem:self.navigationItem.rightBarButtonItem
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:YES];
Run Code Online (Sandbox Code Playgroud)
设备旋转后,弹出窗口backgroundColor将重置为默认颜色(在本例中为白色).
这在iOS 7中不会发生.仅适用于iOS 8
我已经尝试过了
- (void)presentPopoverFromRect:(CGRect)rect
inView:(UIView *)view
permittedArrowDirections:(UIPopoverArrowDirection)arrowDirections
animated:(BOOL)animated;
Run Code Online (Sandbox Code Playgroud)
并且重新定位使用UIPopoverControllerDelegate和发生相同的问题.
最后的信息:我只有在UINavigationBar上显示弹出窗口时才出现此问题,但在常规UIView或任何时候显示弹出窗口时都没有UIButton.
谢谢你的帮助
小智 7
iOS8上的popover也有这样的问题.除了旋转之外,当弹出窗口改变其大小时(例如,当键盘显示为编辑弹出框中的某些文本字段时),重置背景颜色.关键的观察结果是,问题通常发生在弹出窗口上,它的箭头位于内容的边缘(这是从UIBarButtonItem全屏视图控制器呈现弹出框的情况).因此我的解决方法是修改sourceRect足够的弹出箭头从角落移开.例如,在我的特定情况下,我有一个带有自定义33x33视图的条形按钮项目(用作sourceView),并通过设置而不是自定义视图的边界sourceRect来修复问题{20, 30, 0, 0}(尽管我认为确切的所需偏移量可能取决于弹出窗口的大小).
| 归档时间: |
|
| 查看次数: |
1173 次 |
| 最近记录: |