我的UIView
并不像整个屏幕那么大,我希望它出现在屏幕中间。我用以下代码做到了:
self.dialogView.center = CGPointMake(self.view.bounds.size.width / 2.0, self.view.bounds.size.height / 2.0);
不幸的是,当我这样居中时,UIView
的内容会显得模糊。
我已经修好了这个:
self.dialogView.center = CGPointMake(self.view.bounds.size.width / 2.0 + 0.5, self.view.bounds.size.height / 2.0);
现在UIView的内容应该显示为:)
你能告诉我为什么内容变得模糊,为什么我需要在左侧位置偏移量上加0.5?
答案 0 :(得分:8)
新中心导致控件视图的原点落在半像素上,如{20.5,20.5}。由于屏幕不能仅绘制半个像素,渲染引擎会尝试通过尽可能地扩散图像来获得相同的效果,从而导致图像模糊。
您需要确保所有观点的来源都是整数。
答案 1 :(得分:1)
我认为这是由于UIView
如何被放置在屏幕的像素网格上。如果你在常规屏幕(72像素/英寸)上考虑它,0.5分意味着0.5像素,这可能会导致你所看到的......至少我的理论是这样的:P