动画子视图
问题描述:
我在我的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中。
如果有人能告诉我我哪里会出错,那将会很棒。
答
执行动画屏幕上的基本步骤如下:
- 创建视图。
- 其移动到初始(屏幕外)位置
- 添加到视图层次
- 执行动画。
好像你跳过步骤3和可能的步骤2
答
你尝试子视图框设置为您上海华的框架,即
info.View.frame = self.view.frame;
感谢您的答复。 。但我认为[self.view addSubview:infoView.view]是我添加我的信息视图的方式..我错了吗? – learner2010 2011-06-14 21:36:30
是的,但是你把它放在错误的地方。把它放在动画调用之前。 – Moshe 2011-06-14 21:37:02
谢谢..我试过了,但似乎也没有工作...我把[self.view addSubview:infoView.view]正下方infoView.view.frame = CGRectMake(250,300,200,200); – learner2010 2011-06-14 21:39:59