2011-08-11 12 views
0

私は普遍的なiOSアプリケーションを持っています。 iPhoneで正しくサイズを設定するには、UIImageView Frameプロパティを使用します。しかし、iOS 3.1.2を実行しているiPhone 1でアプリをテストしたところ、すべての画像がフルサイズで表示されていました。私がテストしたiOS 4を実行しているすべてのデバイスに正しく表示されます。誰がこれがなぜ、どのようにそれを修正するかを知っていますか?私はフレームサイズを変更してアプリ内の画像をズームイン/ズームアウトするので、自分の画像すべてをiPhoneサイズのバージョンにしたくないです。iOS 3.1.2:UIImageViewsがフレームサイズを反映していません

ありがとうございます! アニタ

答えて

1

画像サイズの半分で画像を拡大縮小して塗りつぶすことができます。

UIImage* originalImage = [UIImage imageNamed:@"demo.jpg"]; 
originalImage = [UIImage imageWithCGImage:[originalImage CGImage] scale:2.0 orientation:UIImageOrientationUp]; 

、あなたは任意のコントロールにこの画像を設定しているところはどこでもあなたがインターフェイスビルダーでXIBを使用している場合のUIView

UIView *demoView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, originalImage.size.width, originalImage.size.height)]; 
+0

xibのautoresizingフィールドを変更するのが最も簡単だと思いますが、あなたのコードがメモリフットプリントを小さくすると思われるので、あなたのコードは最も効果的です。 imageViewの自動サイズ変更マスクを変更すると、イメージのレンダリングの仕方に影響しますが、画像にはすべてのデータが含まれていますが、コードは画像自体のサイズを変更してスペースを節約します。 – Sam

+0

@Anitaいつでもあなたのスマートなクッキースタジオ、良いものを見たことがあります。 :) –

+0

ええと、今はニュースレター購読者です。 :)幸運アニタ。 – Sam

0

を言うことができます、あなたはUIImageViewのための自動サイズを設定していることを確認してください。

 myImageView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleBottomMargin; 
0

sizeToFit 

プロパティを削除してみてください:あなたは、コード内UIImageViewsを作成した場合

、あなたのような何かをしたいだろう。私は同じ問題を抱えてsizeToToを解決しました。

関連する問題