当我把它放在中心时,UIView的内容很模糊

时间:2012-07-06 17:15:47

标签: ios uiview

我的UIView并不像整个屏幕那么大,我希望它出现在屏幕中间。我用以下代码做到了:

    self.dialogView.center = CGPointMake(self.view.bounds.size.width / 2.0, self.view.bounds.size.height / 2.0);

不幸的是,当我这样居中时,UIView的内容会显得模糊。 enter image description here

我已经修好了这个:

    self.dialogView.center = CGPointMake(self.view.bounds.size.width / 2.0 + 0.5, self.view.bounds.size.height / 2.0);

现在UIView的内容应该显示为:)

enter image description here

你能告诉我为什么内容变得模糊,为什么我需要在左侧位置偏移量上加0.5?

2 个答案:

答案 0 :(得分:8)

新中心导致控件视图的原点落在半像素上,如{20.5,20.5}。由于屏幕不能仅绘制半个像素,渲染引擎会尝试通过尽可能地扩散图像来获得相同的效果,从而导致图像模糊。

您需要确保所有观点的来源都是整数。

答案 1 :(得分:1)

我认为这是由于UIView如何被放置在屏幕的像素网格上。如果你在常规屏幕(72像素/英寸)上考虑它,0.5分意味着0.5像素,这可能会导致你所看到的......至少我的理论是这样的:P