0

アプリの起動時にアニメーションが表示される例があります。最初に画像が表示され、次に右から左に移動してから消えます。以下は私が持っているコードです。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    self.viewwController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
    self.window.rootViewController = self.viewwController;
    [self.window makeKeyAndVisible];


    //add the image to the forefront...
    UIImageView *splashImage = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
    [splashImage setImage: [UIImage imageNamed:@"Default"]];
    [self.window addSubview:splashImage];
    [self.window bringSubviewToFront:splashImage];


    //set an anchor point on the image view so it opens from the left
    splashImage.layer.anchorPoint = CGPointMake(0, 0.5);

    //reset the image view frame
    splashImage.frame = CGRectMake(0, 0, 320, 480);

    //animate the open
    [UIView animateWithDuration:1.0
                          delay:0.6
                        options:(UIViewAnimationCurveEaseOut) 
                     animations:^{

                         splashImage.layer.transform = CATransform3DRotate(CATransform3DIdentity, -M_PI_2, 0, 1, 0);
                     } completion:^(BOOL finished){

                         //remove that imageview from the view
                         [splashImage removeFromSuperview];
                     }];

    return YES;

}

私が望むのは、ストーリーボードを使用してこれを行うことです。そのため、コードを次のように変更しました。

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
MyBookViewController *myNew = [[MyBookViewController alloc] init];
self.myBookViewController = myNew;
self.window.rootViewController = self.myBookViewController;
[self.window makeKeyAndVisible];

ただし、viewcontroller (MyBookViewController) が表示されません。画像が右から左に移動し、次に黒い画面が表示されるだけです。

何がうまくいかないのですか?

4

2 に答える 2

3

の助けを借りて自分でやっただけですthis SO question

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard"
                                                         bundle: nil];
MyBook001ViewController *controller = (MyBook001ViewController*)[mainStoryboard
                                                                             instantiateViewControllerWithIdentifier: @"firstStory"];
self.window.rootViewController = controller;
[self.window makeKeyAndVisible];
于 2013-01-30T08:35:37.400 に答える
0

新しいMyBookViewControllerを割り当てているからだと思います。代わりに、次のようにMyBookViewControllerのUIデザインがあるストーリーボードの参照を指定する必要があります。

MyBookViewController *myNew=[self.storyboard instantiateViewControllerWithIdentifier:@"MyBookViewController"];

ViewController識別子を確認してください

UPdate1:

で試してみてください

MyBookViewController *myNew=[self.window.rootViewController];
于 2013-01-22T08:55:17.233 に答える