Ios 动画子视图

Ios 动画子视图,ios,ipad,uitableview,uianimation,Ios,Ipad,Uitableview,Uianimation,我的Ipad应用程序中有一个分割视图控制器,其中细节视图包含UITableView的子视图。 我尝试实现的功能是,当按下子视图上的按钮(info按钮)时,在子视图的相同位置获得info视图。我需要通过动画获得这个信息视图,当按下信息按钮时,该子视图将单独翻转(UIAnimationOptionFlipFromRight),并且信息视图将显示 这就是如何实施它的方法- -(void) showInfoView: (id)sender { infoView = [[InfoViewCont

我的Ipad应用程序中有一个分割视图控制器,其中细节视图包含UITableView的子视图。 我尝试实现的功能是,当按下子视图上的按钮(info按钮)时,在子视图的相同位置获得info视图。我需要通过动画获得这个信息视图,当按下信息按钮时,该子视图将单独翻转(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];
}
当我运行模拟器并按下任何子视图上的“信息”按钮时,所发生的是动画完美地发生了,即子视图从右侧翻转,但“信息视图”没有显示出来


如果有人能告诉我哪里出了问题,那就太好了。

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

  • 创建视图
  • 将其移动到初始(屏幕外)位置
  • 添加到视图层次结构
  • 执行动画

  • 您似乎跳过了步骤3,也可能跳过了步骤2。

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

  • 创建视图
  • 将其移动到初始(屏幕外)位置
  • 添加到视图层次结构
  • 执行动画

  • 您似乎跳过了第3步,也可能跳过了第2步。

    是否尝试将子视图帧设置为superview的帧,即

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

    是否尝试将子视图边框设置为superview的边框,即

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

    谢谢你的答复。。但我认为[self.view addSubview:infoView.view]是我添加信息视图的方式。。我错了吗?是的,但你放错地方了。把它放在动画通话之前。谢谢。。我试过了,但似乎也不管用。。。我把[self.view addSubview:infoView.view]放在infoView.view.frame=CGRectMake(250300200200)的正下方@learner2010-你介意解释一下为什么这个答案是正确的吗?(我不是在抱怨:D,但我想为未来的搜索者澄清一下,因为这些评论让我看起来好像偏离了正轨。)。。实际上你是对的,因为这就是动画的执行方式。。这就是我接受这个答案的原因…谢谢你的回答。。但我认为[self.view addSubview:infoView.view]是我添加信息视图的方式。。我错了吗?是的,但你放错地方了。把它放在动画通话之前。谢谢。。我试过了,但似乎也不管用。。。我把[self.view addSubview:infoView.view]放在infoView.view.frame=CGRectMake(250300200200)的正下方@learner2010-你介意解释一下为什么这个答案是正确的吗?(我不是在抱怨:D,但我想为未来的搜索者澄清一下,因为这些评论让我看起来好像偏离了正轨。)。。实际上你是对的,因为这就是动画的执行方式。。所以这就是为什么我接受了这个答案。。。