0

起動時に 3 つの画像をアニメーション化する Splashes という名前の単純なクラスがあります。
うまく機能しますが、iPhone 5 ではビューのサイズを自動的に変更できません。

コードスニペットは次のとおりです。

- (void)viewDidLoad
  [...]
  if ( IS_IPHONE_5 ) _ImageSplash.image = [UIImage imageNamed:@"splash_1-568h@2x.png"];
  else _ImageSplash.image = [UIImage imageNamed:@"splash_1.png"];
  if ( IS_IPAD ) _ImageSplash.image = [UIImage imageNamed:@"splash_1_ipad.png"];

  [NSTimer scheduledTimerWithTimeInterval:1.5 target:self selector:@selector(repeat) userInfo:nil repeats:YES];
  [...]
}

リピート機能

[...]
int i=0;
[...]
- (void)repeat
{
  switch (i) {
    case 0:
      if ( IS_IPHONE_5 ) _ImageSplash.image = [UIImage imageNamed:@"splash_2-568h@2x.png"];
      else _ImageSplash.image = [UIImage imageNamed:@"splash_2.png"];
      if ( IS_IPAD ) _ImageSplash.image = [UIImage imageNamed:@"splash_2_ipad.png"];
      break;
    case 1:
      if ( IS_IPHONE_5 ) _ImageSplash.image = [UIImage imageNamed:@"splash_3-568h@2x.png"];
      else _ImageSplash.image = [UIImage imageNamed:@"splash_3.png"];
      if ( IS_IPAD ) _ImageSplash.image = [UIImage imageNamed:@"splash_3_ipad.png"];
      break;
    default: [self dismissModalViewControllerAnimated:NO]; break;
  }
  i++;
}

デバイスに基づいて画像が正しく読み込まれますが、xib は同じままです。
オートサイズしたくない。

これらは私のXIBの設定です:
ここに画像の説明を入力 ここに画像の説明を入力

ここに画像の説明を入力

何が問題なのですか?

他のすべての XIB は正常に動作しますが、これだけに問題があります。
iOS では、ビューの下部にのみ黒いストライプが表示されます! 非常に奇妙な...

注: 3.2 以降のアプリと互換性があるため、AUTOLAYOUTS は使用できません。


編集:スクリーンショットを追加しました。
ここに画像の説明を入力

ありがとう。

4

2 に答える 2

0

画像ビューの自動サイズ変更マスクを、現在の設定に加えて、上と下に固定するように変更します(つまり、左、上、下に固定し、高さを柔軟に設定できます)。

于 2012-10-19T13:40:12.570 に答える
0

CSmithの返信はうまくいったはずですが、とにかく、これでうまくいくかもしれません:

CGRect windowFrame=[[[UIApplication sharedApplication].windows objectAtIndex:0] bounds];
[_ImageSplash setFrame:windowFrame];

デバイスが iPhone5 の場合は、iPhone5 チェックの下に置きます。

于 2012-10-19T13:48:01.093 に答える