1

いくつかのボタンの背景画像を変更するために、viewWillAppear にいくつかのコードを書きました。シミュレーターでは問題なく動作します。ただし、実際のデバイスにロードすると機能しません。デバイスは IOS5.1.1 です。

体は何が問題なのか知っていますか?? ありがとう!!

(void)viewWillAppear:(BOOL)animated
{

    [super viewWillAppear:animated];

    ...

    //set dataTypeSelect buttons background

    UIImage *tmpImage = [UIImage imageNamed:@"White.png"];

    [self.dataTypeSelectBut0 setBackgroundImage:tmpImage forState:UIControlStateNormal];

    [self.dataTypeSelectBut1 setBackgroundImage:tmpImage forState:UIControlStateNormal];

    [self.dataTypeSelectBut2 setBackgroundImage:tmpImage forState:UIControlStateNormal];

    tmpImage = [UIImage imageNamed:@"Cyan.png"];

    iTDLAppDelegate *tmpAppDelegate = (iTDLAppDelegate *)[[UIApplication sharedApplication] delegate];

    switch(tmpAppDelegate.viewingDataType)
    {
        case EnumDataType_HkHorse:
            [self.dataTypeSelectBut0 setBackgroundImage:tmpImage forState:UIControlStateNormal];
            break;
        case EnumDataType_S1:
            [self.dataTypeSelectBut1 setBackgroundImage:tmpImage forState:UIControlStateNormal];
            break;
        case EnumDataType_S2:
            [self.dataTypeSelectBut2 setBackgroundImage:tmpImage forState:UIControlStateNormal];
            break;
    }

    ...

}
4

1 に答える 1

3

画像のファイル名が原因であると特定しました。

ファイル名は「White.PNG」と「Cyan.PNG」です。
私のコードは次のとおりです

UIImage *tmpImage = [UIImage imageNamed:@"White.png"];
UIImage *tmpImage = [UIImage imageNamed:@"Cyan.png"];

それらはシミュレーターでは正常に動作しますが、実際のデバイスです。 実際のデバイスでは、の戻り値がnullで
あることがわかりました。tmpImage

今、私はそれらをに変更しました

UIImage *tmpImage = [UIImage imageNamed:@"White.PNG"];
UIImage *tmpImage = [UIImage imageNamed:@"Cyan.PNG"];

現在、どちらも正常に機能しています。:)

于 2012-06-07T02:07:53.340 に答える