-3

一部の写真は iOS 7 では表示されず、iOS 6 では適切に表示されるため、非常に奇妙です。IBOutlet UIImageView で発生し、UIAlertView をサブクラス化したときにも発生します。

例えば:

編集:

alert = [[UIAlertTrapAlarm alloc] initWithCameraType:camType andFrame:[UIScreen mainScreen].bounds];

    [[NSNotificationCenter defaultCenter] postNotificationName:CreateDistance object:nil userInfo:dictionary];
     [alert addButtonWithTitle:NSLocalizedString(@"not_exists", nil)];
     [alert addButtonWithTitle:NSLocalizedString(@"exists", nil)];
    [alert show];
    [alert changeMessageBox:distance description:trapDesc type:trapTypeString];
    [alert showHideExistsNotExistsButtons:camType];
    [alert showHideButtons];
//    alert.imageViewBackground.image = [UIImage imageNamed:@"allert1"];
    [alert.imageViewBackground setImage:[UIImage imageNamed:@"allert1.png"]];
    [alert setNeedsDisplay];
    [alert.screenView setNeedsDisplay];

サブクラス UIAlertView のすべてのサブビューが表示されないことを忘れていました。

4

2 に答える 2

2

Xcode 5 を使用している場合は Interface builder を確認できます。このように、Xib を 7.0 以降または 6.0 以前として表示するオプションがあります。iOS 7.0以降として表示されたときに、UIImageViewが正しい場所にあるかどうかを確認してください。UIImageView が表示されない場合は、私の答えが役立つかもしれません。

数日前にこの問題が発生しました。iOS 6 から iOS 7 に切り替えると、一部のビューが非表示になり、Interface builder が属性インスペクターに位置 (-680 , 675 ) 、 W/H (0,0) などのガベージ値を表示しました。このようなもの。右と下の AutoResizing マスクのチェックを外すことで、この問題を解決しました。それは私の問題を解決しました。

問題が似ているかどうかを試すことができます。コードやその他の詳細情報がなければ、正確な解決策を提供するのは難しいためです。

于 2013-10-06T08:31:07.153 に答える
1

その 1 行のコードから、Interface Builder でフォアグラウンド イメージを設定している間に、コードでバックグラウンド イメージを設定していると思います。

使ってみて

alert.image = [UIImage imageNamed:@"allert1"];
于 2013-10-06T08:32:35.807 に答える