2

画面全体としては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 を追加する必要がある理由を教えてください。

4

2 に答える 2

8

新しい中心により、コントロールのビューの原点が { 20.5, 20.5 } のように半ピクセルになります。画面は 0.5 ピクセルしか描画できないため、レンダリング エンジンは可能な限り画像を拡散することで同じ効果を得ようとしますが、画像がぼやけてしまいます。

すべてのビューの原点が整数であることを確認する必要があります。

于 2012-07-06T17:22:15.533 に答える
1

UIViewそれは、画面のピクセルグリッドにどのように配置されているかによると思います。通常の画面(72ピクセル/インチ)で考えると、0.5ポイントは0.5ピクセルを意味し、おそらくあなたが見ているものを引き起こすでしょう...それは少なくとも私の理論です:P

于 2012-07-06T17:22:01.003 に答える