2

我已经子类化并且正在使用 UIPopoverBackgroundView 来为我的 UIPopoverControllers 制作自定义外观。到目前为止,一切似乎都很好,弹出框画得很好,看起来像我期望的那样。
问题是,当我的弹出框打开一段时间没有活动时,边框经常会突然画错。这似乎只发生在弹出框包含大于弹出框的滚动视图/表格视图(即它是可滚动的)时。它也不会每次都发生,但如果确实发生,它会在不活动的不到一分钟内发生。如果我截取屏幕截图,则该问题不可见(尽管它在屏幕上清晰可见),因此很遗憾我无法提供该问题的任何图像。

有谁知道为什么在几秒钟不活动后会错误地绘制边界以及如何解决该问题?如有必要,我可以提供代码片段,尽管我相当确定一切都是正确的(相当于我在网上看到的许多示例)。在不活动期间,我也不会随时调整弹出框的大小(我会在最初显示时调整大小以适应最大大小的内容)。

由于我无法截取屏幕截图来演示该问题,因此我能做的最好的就是描述它。似乎某些区域的边框以错误的大小绘制(例如,右侧边缘的一部分被绘制在弹出框的中间;不是边框本身太宽,而是边框的区域应该是接壤是错误的)。沿实际边缘的区域仍然存在,但缺少它的图层效果(我有使用边框和圆角图层效果的 backgroundView 给它一个漂亮的圆角白色边缘,模拟与默认背景视图相同的外观,只是一个不同的颜色)。但是,删除图层效果并不能阻止该问题。有时只是右侧边缘的一部分绘制不正确,有时底部边缘的一部分也会受到影响。我可以'

4

1 回答 1

1

它只发生在模拟器中还是真实设备上?

这似乎只在弹出框包含大于弹出框的滚动视图/表格视图时才会发生(即它是可滚动的)

在这种情况下,您是否调整滚动视图/表格视图的大小?尝试在您的 UIPopView 中添加一个 UIView 作为容器。

于 2013-07-23T22:33:20.850 回答