iOS应用启动动画

时间:2012-05-31 23:49:36

标签: iphone ios animation uiview uiimageview

我希望在默认图像消失后,在我的应用中插入一个启动动画。在我的应用程序中,我有一个导航栏和一个标签栏,所以我试图把它放在视图中加载:

UIImageView *img = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"myIMG.png"]];
[self.view addSubview:img];

然后,我希望通过转换为该图像设置动画,但是我将图像定位在视图中,在标签栏和导航栏之间,我希望所有图像前面的图像都能启动动画。我怎么能这样做?

5 个答案:

答案 0 :(得分:2)

你应该:

  1. 创建名为startup view controller的视图控制器。
  2. 在应用启动时的AppDelegate中,将此视图设置为rootViewController
  3. 在加载数据或连接服务器时,使用您的图像或任何您想要的动画做一些动画。
  4. 完成所有操作后,从此启动视图控制器中,您可以通过调用app delegate删除此启动视图并显示主视图,以设置主视图控制器是根视图控制器。
  5. [编辑]

    如果您只想让imageView覆盖所有屏幕,那么您可以执行以下操作:

    [appDelegate.window addSubview:imageView];
    

答案 1 :(得分:2)

  1. 为您的启动动画创建视图控制器
  2. 在App Delegate中,显示您的启动View Controller
  3. 在AppDelegate.m

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
        ....
        ....
        ....
        frontScreen *animScreen =   [[frontScreen alloc] initWithNibName:@"frontScreen" bundle:nil];
        self.window.rootViewController = animScreen;
        [self.window makeKeyAndVisible];
    }
    
    1. 完成动画后,调用show tabview controller
    2. 在frontScreen.m

      AppDelegate* app =(AppDelegate*)[UIApplication sharedApplication].delegate;
        [app afterAnimation];
      

      在AppDelegate.m

      -(void)afterAnimation {
          rootController *list=[[rootController alloc] initWithNibName:@"rootController" bundle:nil];
          self.navigationController = [[UINavigationController alloc] initWithRootViewController:list];
      
          self.window.rootViewController = self.navigationController;
          [self.window makeKeyAndVisible]; //optional
        }
      

答案 2 :(得分:2)

//Display an Ads Imageview with animation on top of View 
imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"sale2.jpg"]];
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapDetected:)];
tapGesture.numberOfTapsRequired = 1;
tapGesture.numberOfTouchesRequired = 1;

[imageView addGestureRecognizer:tapGesture];
[imageView setUserInteractionEnabled:YES];
[imageView setMultipleTouchEnabled:YES];

[UIView animateWithDuration:3.5 animations:^{imageView.alpha = 0;imageView.alpha = 1;}];

[self.window addSubview:imageView];



-(void)tapDetected:(UIGestureRecognizer*)recognizer{
  //**************Remove the Advertising Image after the user press single tap on the img
  [UIView animateWithDuration:1 animations:^{imageView.alpha = 1;imageView.alpha = 0;}];
}

答案 3 :(得分:0)

你最好的选择是创建一个Modal风格的segue,并用动画图像填充segue的视图,并在应用程序启动时,以编程方式立即调用segue,这是第一个出现

答案 4 :(得分:0)

[self.tabBarController.view addSubview:img];

然后您的图片将全屏显示。