私にはわかっていないという問題があります。私は、フロントとバックカメラから1つの写真を撮って、それらを一緒にマージするアプリを持っている。網膜(高品質)の画像をプログラム的にロードする(ボタン上)
私は私のUIButtonsは最初から網膜像としてロードされることはありませんどこに問題があるしかし、アプリの名前はGroupCam
です。インタフェースビルダーでそれらを@ 2xとして設定すると、高品質で表示されますが、プログラマチックにリロードすると、代わりに低バージョンが表示されます。
これは、写真を撮って画面を変えるとボタンの画像が変わるのですが、ユーザーが戻るボタンを押すと、カメラのアイコンがひどく見えます(低品質のバージョンがロードされているためです) 。
次の画像を確認してください:
まず画面:私はカメラのフラッシュの値と「ロード」プログラム的に対応する画像を確認していますので、だけ右上のボタンが歪んで表示されます。
2番目の画面:ユーザーが別の画面に移動し、最初の1に戻ってきましたが、すべてのボタンがリロードされた、彼らは今、すべてが歪んで見えます。
誰もがこの出来事は、私はそれを本当に感謝している理由の任意のアイデアを持っている場合!
ありがとうございました。
編集:
イメージをロードする方法です。
これを行うとインターネットのどこかで自動的に画像の最適なバージョンが読み込まれます。
また、私はこれを試みたが、結果は同じである:あなたのアプリは、フロントカメラから写真を撮るとバックカメラからの1と一緒にそれらをマージしている場合
[self.takeButton setImage:[UIImage imageNamed:@"takePhoto.png"] forState:UIControlStateNormal];
アプリで正常画像と網膜画像を使用して素晴らしい結果が得られました。だから私は、これらの画像の通常の解像度を選択し、それらをプロジェクトに含めないことをお勧めします(3番目の右端のペインを介して、チェックボックスを選択解除してください)。今あなたのアプリは、網膜の画像を持っています。さて、物事が悪くなると、あなたのアプリの中の何かが台無しになりました。 [UIImage imageNamed:foo.png]に問題があります。そのイメージを変更すると、そのイメージの後続のすべてのユーザーが変更されたイメージを取得します。 UIImageを読み返してくださいimageNamed: –
質問を読んでみましたが、私はこの文を見ました:「インターフェースビルダーで@ 2x」と設定した場合。したがって、IBでは、あなたの名前を「[email protected]」と入力しています。ですから、あなたの問題は "@ 2x"という形式でしかないと思います。あなたはそれらの画像の名前を正しく指定していることを確信していますか? "[email protected]"、NOT&2x.pngなどです.iOSがハイレゾファイルを見ないように思われます。それがそれを説明する唯一の理由です。だから、IBの "@ 2x"を削除してみて、何が起こるか見てみましょう。私はあなたがいつもすべての低いrezを得ると確信しています。 –
はいそれは正しくフォーマットされ、命名されます。画像はHDで完全に正常に読み込まれますが、唯一の問題はプログラムで読み込むときです。 iOSは低解像度のものをロードすることを決めます。 – Pochi