动画子视图

问题描述:

我在我的Ipad应用程序中有一个分割视图控制器,其中详细视图具有UITableView的子视图。 我试图实现的功能是在按下子视图上的按钮(信息按钮)时,在子视图的相同位置获取信息视图。我需要通过动画获取此信息视图,并且动画是当按下信息按钮时,单独的子视图将会翻转(UIAnimationOptionFlipFromRight),并且信息视图会显示...动画子视图

这是如何尝试实现它 -

-(void) showInfoView: (id)sender 
{ 

    infoView = [[InfoViewController alloc] initWithNibName:@"ViewViewController" bundle:nil]; 
    infoView.view.frame = CGRectMake(250, 300, 200, 200); 

    [UIView transitionWithView:self.view duration:1 
         options:UIViewAnimationOptionTransitionFlipFromRight 
        animations:^{ 
         [self.view addSubview:infoView.view]; 
        } 
        completion:nil]; 
} 

当我运行模拟器,然后按任意子视图的信息按钮,会发生什么情况是,动画完美地发生,即子视图从右侧翻转,但没有得到显示InfoView中。

如果有人能告诉我我哪里会出错,那将会很棒。

执行动画屏幕上的基本步骤如下:

  1. 创建视图。
  2. 其移动到初始(屏幕外)位置
  3. 添加到视图层次
  4. 执行动画。

好像你跳过步骤3和可能的步骤2

+0

感谢您的答复。 。但我认为[self.view addSubview:infoView.view]是我添加我的信息视图的方式..我错了吗? – learner2010 2011-06-14 21:36:30

+0

是的,但是你把它放在错误的地方。把它放在动画调用之前。 – Moshe 2011-06-14 21:37:02

+0

谢谢..我试过了,但似乎也没有工作...我把[self.view addSubview:infoView.view]正下方infoView.view.frame = CGRectMake(250,300,200,200); – learner2010 2011-06-14 21:39:59

你尝试子视图框设置为您上海华的框架,即

info.View.frame = self.view.frame;