gpt4 book ai didi

ios - UIPopoverController backgroundColor 在 iOS 8 上旋转后返回默认值

转载 作者:可可西里 更新时间:2023-11-01 05:21:05 24 4
gpt4 key购买 nike

当将 backgroundColor 设置为 [UIColor blackColor] 并设置为 UIPopoverController 时,一切正常并在 iOS7 和 iOS8 上正确呈现。

我通过

    [aPopover presentPopoverFromBarButtonItem:self.navigationItem.rightBarButtonItem
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:YES];

设备旋转后,弹出框 backgroundColor 重置为默认颜色(在本例中为白色)。

这在 iOS 7 中不会发生。仅在 iOS 8 中发生

我已经尝试过

- (void)presentPopoverFromRect:(CGRect)rect 
inView:(UIView *)view
permittedArrowDirections:(UIPopoverArrowDirection)arrowDirections
animated:(BOOL)animated;

并使用 UIPopoverControllerDelegate 重新定位,同样的问题发生了。

最后的信息: 我只有在 UINavigationBar 上显示弹出窗口时才会遇到这个问题,但在常规 UIView 或任何 UIButton.

谢谢你的帮助

最佳答案

我在 iOS8 上的 popover 也有这样的问题。除了旋转之外,当弹出窗口改变其大小时背景颜色被重置(例如,当键盘出现以编辑弹出窗口中的某些文本字段时)。关键的观察结果是,问题通常发生在箭头位于内容边缘的弹出窗口(当从全屏 View Controller 的 UIBarButtonItem 呈现弹出窗口时就是这种情况)。因此,我的解决方法是修改 sourceRect 刚好足以让弹出框的箭头离开它的角。例如,在我的特殊情况下,我有一个带有自定义 33x33 View 的条形按钮项(用作 sourceView),通过将 sourceRect 设置为 { 20, 30, 0, 0} 而不是自定义 View 的边界(尽管我认为所需的确切偏移量可能取决于弹出窗口的大小)。

关于ios - UIPopoverController backgroundColor 在 iOS 8 上旋转后返回默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26153153/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com