UIPopoverController的内容很模糊

时间:2011-05-16 13:53:24

标签: ios ipad blurry uipopover

我在我的应用程序中呈现了一个UIPopoverController,但内容视图显得有些模糊。

为了演示,我将内容视图控制器的第二个实例直接放在self.view上,通过比较很容易看出popover中的文本是模糊的。设备和模拟器中都会出现此问题。

截图:

enter image description here

代码:

// ...    

// init the edit view controller
editSOViewController = [[EditViewController alloc] 
initForNewObjectWithDict:dict];

// init popover with editSOViewController
UIPopoverController *popover = [[UIPopoverController alloc] 
initWithContentViewController:editSOViewController];

// set size
navPopover.popoverContentSize = 
CGSizeMake(editSOViewController.view.frame.size.width, 
[editSOViewController heightForViewControllerInPopoverView]);  

// this is blurry
[popover presentPopoverFromRect:image.frame
                            inView:self.view
          permittedArrowDirections:UIPopoverArrowDirectionAny
                          animated:YES];

// this is clear
editViewController *test =
 [[EditViewController alloc] initForNewObjectWithDict:dict];
[self.view addSubview:test.view];

任何可能导致此问题的想法?我认为UIPopover可能会略微缩小视图,但我用图像编辑器排列了两个示例,并且大小没有差异(但在弹出视图中有明显的“模糊”)。

如果我使用WEPopover(https://github.com/werner77/WEPopover/),我仍然会遇到同样的问题。

感谢。

1 个答案:

答案 0 :(得分:9)

使用带小数部分的帧值会导致像素之间的定位,从而导致模糊。

要避免这种情况,请使用roundfloor等功能将帧值设置为无分数的数字。