5

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

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

截屏:

在此处输入图像描述

代码:

// ...    

// 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/),我仍然会遇到同样的问题。

谢谢。

4

1 回答 1

9

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

round为避免这种情况,请使用或等函数将帧值设置为不带分数的数字floor

于 2011-05-16T21:47:37.793 回答