【发布时间】:2025-11-26 18:00:01
【问题描述】:
我在我的应用程序中展示了一个 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/),我仍然会遇到同样的问题。
谢谢。
【问题讨论】:
-
您是否对任何视图使用任何 -setCenter 方法?
-
NSLog image.frame 的值。它有小数部分吗?
-
@Anna Karenina
CGRect f =floatingImageView.frame; NSLog(@"x: %f, y:%f, w:%f, h%f",f.origin.x, f.origin.y, f.size.width, f.size.height);x: 336.707764, y:450.813629, w:60.000000, h39.000000