0

起動時に、Default.png起動画像をロードして1.5秒間保持するviewControllerをロードし、その画像がフェードアウトしてから、アプリケーション全体の背景画像となる別の画像にフェードインするアプリケーションがあります。 。ここから最初のviewControllerをロードし、次にボタンとナビゲーションバーをフェードインします。

つまり、SplashScreeVCになります-Default.pngが表示されますDefault.pngフェードアウト新しい画像がフェードインします(これはアプリ全体の背景画像です)ボタンとナビゲーションバーのアルファを0.1に設定してMainVCをロードします。mainVCのナビゲーションバーとボタンをフェードインするために呼び出されるメソッド

だから私のアプリデリゲートで私はこれを持っています

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.

    SplashVC *splash = [[SplashVC alloc] initWithNibName:@"SplashView" bundle:nil];
    self.window.rootViewController = splash;

    [self.window makeKeyAndVisible];
    return YES;
}

したがって、アプリはDefault.pngをロードし、次にDefault.pngを背景画像として持つsplashVCをロードします。これは、1.5秒間表示されます。次に、この画像をフェードアウトしてから、アプリケーション全体の背景画像として使用される画像をフェードインする方法がいくつかあります。次に、ナビゲーションコントローラーをロードするappDelegatesMainNavメソッドを呼び出します。アプリDelegatesMainNavメソッドは以下のとおりです

-(void) MainNav
{
    UIViewController *main = [[MainVC alloc] initWithNibName:@"MainView" bundle:nil];

    self.navController = [[UINavigationController alloc] initWithRootViewController:main];

    UIImage *navImage = [UIImage imageNamed:@"NavBarGrey.png"];
    //Add the custom image


    [[self.navController navigationBar] setBackgroundImage:navImage forBarMetrics:UIBarMetricsDefault];

    //[[UINavigationBar appearance] setTintColor:UIColorFromRGB(0xee2e24)];


    [[UINavigationBar appearance] setTintColor:UIColorFromRGB(0xe7e7e7)];

    self.navController.view.backgroundColor = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"backgroundImage.png"]];

    self.window.rootViewController = self.navController;

}

問題は、SplashScreen VCからMainVCに移動すると、SplashVCでフェードインするのと同じ画像であるにもかかわらず、画像が突然ぎくしゃくすることです。

誰かがこれがなぜであるかについて何か考えがありますか?ナビゲーションコントローラーが画像サイズに影響を与えることと関係があると思いますが、それを修正するために何をすべきかわかりませんか?ナビゲーションバーの背景にさまざまなサイズの新しい画像を作成する必要がありますか?または、この問題を修正する別の方法はありますか?

何かアドバイスをいただければ幸いです。ありがとう!!

編集:画像の右へのけいれんを修正しました。画像の幅が間違った高さでしたが、画像はまだ設定された量だけ跳ね上がっています

4

2 に答える 2

0

なんとかそれを理解することができました。画像のコピーを作成し、その高さを20ピクセル増やして、ナビゲーションバーの背景画像として設定する必要があるようです。これにより、ナビゲーションバーの問題が相殺されます。

于 2012-08-08T11:30:49.733 に答える
0

次のようなbacround画像コードを設定できます

yourView.setBacroundColur=[UIColour colourWithImagePttern:[UIImage ImageNamed:@""]];
于 2012-08-10T17:53:52.697 に答える