IPhoneクライアントのタイプに基づいて正しいサイズの画像を配信するサーバーからダウンロードされた生データから画像を初期化する必要があります。
640x960ディスプレイでスケール値を2.0に設定する必要があることはわかっていますが、これは読み取り専用のプロパティであり、initWithDataを使用する場合、init中に設定できません。
何か案は?
@ 2x画像であることを電話に伝えるために画像データ自体に埋め込むことができるものは何も知りませんが、次のようなものが機能するはずです。
UIImage * img = ...;
img = [UIImage imageWithCGImage:img.CGImage scale:2 orientation:img.imageOrientation];
IOS 6.0 UIImage
にはメソッド+ imageWithData:scale:
があるため、2.0
を網膜のスケールとして渡すことができます。
[[UIScreen mainScreen] scale]
の代わりにスケールパラメータとして2.0f
。
Swift3、4バージョン
let image = UIImage(data: imageData, scale: UIScreen.main.scale)