0

我的 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 没有显示。

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

4

2 回答 2

3

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

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

似乎您正在跳过第 3 步,甚至可能跳过第 2 步。

于 2011-06-14T21:15:40.047 回答
0

您是否尝试将子视图框架设置为您的超级视图的框架,即

 info.View.frame = self.view.frame;
于 2012-12-28T15:37:08.353 回答