2011-01-16 17 views
0

iPhone上でフルスクリーンイメージを見たいです。どのくらい多く ピクセル私はそれを設定する必要がありますか?幅と高さはiPhone 3と 4で異なっていますか?UIImageView:フルスクリーンイメージ

私のソースコードは:

NSString *filePath = [[NSBundle mainBundle] pathForResource:theProduct.image ofType:@"png"]; 
UIImageView *img = [[UIImageView alloc] initWithImage:[UIImage imageWithContentsOfFile:filePath]]; 
img.frame = CGRectMake(0.0, 0.0, ?, ?); 
[self.view addSubview:img]; 

私は疑問符の代わりに何を置くべきですか?

多くのおかげで、 ステファノ

答えて

1

古いiPhone:320 x 480ピクセルのサイズに設定する必要があります。 iPhone 4はこれを倍にして画面に合わせます。ピクセル化を見たくない場合は、別の@ 2xイメージを640 x 960のサイズにする必要があります。

8

[[UIScreen mainScreen] applicationFrame]にUIImageViewのフレームを設定してみてください。

これは、アプリケーションに利用可能なすべての領域を使用するようにUIImageViewを設定します(表示されている場合はステータスバーを除く)。

+0

これは素晴らしいアイデアのようでしたが、試したときに間違った向きになってしまいました。 http://stackoverflow.com/questions/2664980/uiscreen-applicationframe-returning-incorrect-rectangle-on-landscape-applicationは将来の読者にとって興味深いかもしれません。 – PeterT

0

質問には既に回答済みです(ステータスバーを削除した後で320 x 480または320 x 460を使用してください)。

しかし、同様の問題を解決する方法として、Xcodeをドロップすると、xib内のUIImageViewがドロップされます。それを適切にサイズ設定し、右ペインに表示します。「サイズインスペクタ」を表示します(右から2番目のタブ)。フレーム矩形の幅と高さを指定します。スケーリングしたくない場合(または1:1スケールを使用する場合)、画像のサイズとしてこの幅と高さを使用します。また、(上記のように)網膜ディスプレイには2倍の解像度の画像を2倍使用します。

0

これは非常に古いスレッドなので、Constraintsの仕組みを更新するだけです。

imageView?.translatesAutoresizingMaskIntoConstraints = false 
imageView?.contentMode = .scaleAspectFit 
view.backgroundColor=UIColor.blue 
view.addSubview(self.imageView!) 

    let height = NSLayoutConstraint(item: imageView!, attribute: .height, relatedBy: .equal, toItem: view, attribute: .height, multiplier: 1, constant: 0) 
    let width = NSLayoutConstraint(item: imageView!, attribute: .width, relatedBy: .equal, toItem: view, attribute: .width, multiplier: 1, constant: 0) 
    view.addConstraints([height, width])