0

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

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

然后,我想用一个过渡动画那个图像,但是我定位在视图中的图像,在标签栏和导航栏之间,我希望所有前面的图像开始动画。我怎样才能做到这一点?

4

5 回答 5

2

你应该:

  1. 创建一个名为启动视图控制器的视图控制器。
  2. 在应用启动时的 AppDelegate 中,设置此视图为 rootViewController
  3. 在加载数据或连接到服务器时,使用您的图像或任何您想要的动画做一些动画。
  4. 一切完成后,从此启动视图控制器中,您可以删除此启动视图并通过调用应用委托显示您的主视图,以将您的主视图控制器设置为根视图控制器。

[编辑]

如果您只希望 imageView 可以覆盖整个屏幕,那么您可以执行以下操作:

[appDelegate.window addSubview:imageView];
于 2012-06-01T03:01:50.660 回答
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;}];
}
于 2012-07-20T08:26:08.080 回答
2
  1. 为您的启动动画创建视图控制器
  2. 在 App Delegate 中,显示您的启动视图控制器

在 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 控制器

在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
  }
于 2012-06-01T03:33:11.737 回答
0

涵盖所有内容的最佳选择是创建模态样式的转场,并用您的动画图像填充转场的视图,当应用程序启动时,立即以编程方式调用该转场,因此它是第一个出现的东西。

于 2012-06-01T02:26:56.170 回答
0
[self.tabBarController.view addSubview:img];

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

于 2012-06-01T02:56:18.290 回答