我正试图为我的新观点制作动画,因为它们进来或出去似乎无法弄清楚如何做到这一点。我尝试了几种不同的东西无济于事。以下是我如何加载它们的代码:
(void) displayView:(int)intNewView {
NSLog(@"%i", intNewView);
[self.currentView.view removeFromSuperview];
//[self.currentView.view removeFromSuperview];
[self.currentView release];
switch (intNewView) {
case 1:
self.currentView = [[FirstViewController alloc] initWithNibName:@"FirstView" bundle:nil];
break;
case 2:
self.currentView = [[SecondViewController alloc] initWithNibName:@"SecondView" bundle:nil];
break;
case 3:
self.currentView = [[ThirdViewController alloc] initWithNibName:@"ThirdView" bundle:nil];
break;
case 4:
self.currentView = [[FourthViewController alloc] initWithNibName:@"FourthView" bundle:nil];
break;
}
[self.view addSubview:self.currentView.view];
}
以这种方式加载它们是否甚至可以让它们具有动画效果?
一如既往,提前感谢任何帮助。
...地理位置
答案 0 :(得分:0)
如果我说得对,“自我”是你的导航控制器,你可以试试 [self pushViewController:currentView animated:YES];
答案 1 :(得分:0)
您可以通过这种方式进行视图转换。
[self.currentView.view removeFromSuperview];
[self.currentView release];
UIViewController *newVC = [[UIViewController alloc] initWithNibName:@"" bundle:nil];
[UIView transitionWithView:self.view
duration:0.5
options:UIViewAnimationOptionTransitionFlipFromLeft
animations:^{ [self.currentView.view removeFromSuperview]; [self.view addSubview:newView.view]; }
completion:NULL];
请注意,基于3.x的方法,没有块,需要在运行动画之前在视图层次结构中插入newView.view,这只是在索引0和索引1的视图之间切换,并且在动画的视图中
self.currentView=newView;
请不要尝试剪切和粘贴这些代码行:它们尚未经过检查,因此请将此过程视为有效,但在编写代码时要小心。