为了给我的UIPopoverControllers定制外观,我已经子类化并且正在使用UIPopoverBackgroundView。到目前为止,一切似乎都很好,popover画得很好,看起来也和我预期的一样。
问题是,当我的弹出窗口在一段时间内没有活动时,边界经常会突然被画错。这似乎只在弹出窗口包含比弹出窗口大的滚动视图/表格视图时才会发生(即它是可滚动的)。它也不是每次都会发生,但如果它确实发生了,它会在不活动的一分钟内发生。如果我截图,这个问题是不可见的(尽管它在屏幕上清晰可见),所以很遗憾我无法提供这个问题的任何图像。
有没有人知道为什么在几秒钟不活动后,边界会绘制不正确,以及如何解决这个问题?如果需要,我可以提供代码片段,尽管我相当确定一切都是正确的(并且相当于我在网上看到的许多示例)。我也不会在不活动期间的任何时候调整弹出窗口的大小(我会在最初显示时调整大小,以适应内容的最大尺寸)。
因为我不能截图来演示这个问题,所以我能做的最好的事情就是描述它。某些区域中的边界似乎是以错误的大小绘制的(如在中,部分右边缘是在弹出窗口的中间绘制的;并不是边界本身太宽,而是边界应该与之接壤的区域是错误的)。沿着实际边缘的区域仍然存在,但缺少图层效果(我让backgroundView使用边框和圆角图层效果,使其具有漂亮的圆形白色边缘,模拟与默认背景视图相同的外观,只是颜色不同)。不过,移除图层效果并不能阻止这个问题。有时只是右边缘的一部分画得不正确,有时底边的一部分也会受到影响。我似乎找不到任何关于这种情况发生的时间和方式的相关性(尽管它经常发生),也找不到哪个边缘受到影响(尽管我从未见过它影响上边缘或左边缘)。
发布于 2013-07-24 06:33:21
它是只在模拟器中发生,还是在真实设备上也发生?
这似乎仅在弹出窗口包含比弹出窗口大的滚动视图/表格视图时才会发生(即,它是可滚动的)
在这种情况下,是否调整滚动视图/表格视图的大小?尝试在UIPopView中添加一个将作为容器的UIView。
https://stackoverflow.com/questions/17550592
复制相似问题