我正在翻阅背面的信息视图。我让它翻转,我在另一边有一个导航栏让我回到原来的视图(当我尝试使用模态时这是一个问题)。
我现在的问题是它只能在第一次工作:我点击信息按钮,我翻到后面。我点击后退按钮,我可以回头没问题。
但是,如果我再次点击该信息按钮,它会推送到信息视图而不是翻转。翻盖仍然很好。如果我离开根视图并转到其他地方并返回,它会再次正常翻转。 在单击信息按钮时调用的方法:
InfoViewController *controller = [[[InfoViewController alloc] init] autorelease];
[UIView beginAnimations:@"animation" context:nil];
[self.navigationController pushViewController: controller animated:NO];
[UIView setAnimationDuration:0.8];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.navigationController.view cache:NO];
[UIView commitAnimations];
感谢您的帮助!
答案 0 :(得分:1)
在哪里初始化InfoViewController? 因为每次你来到Root它都会初始化并正常工作...... 当你点击后面它没有....这么容易修复将在viewWillAppear中写这个代码...每次你访问视图时都会调用它。
希望这会有所帮助..
答案 1 :(得分:0)
这是一个较新的实现,它使用来自较新的UIView API的块并依赖于ARC。
这就是推送新翻页的方式:
InfoViewController *controller = [[InfoViewController alloc] init];
[self.navigationController pushViewController:controller animated:NO];
[UIView transitionFromView:self.view
toView:controller.view
duration:0.8f
options:UIViewAnimationOptionTransitionFlipFromLeft
completion:^(BOOL finished) {
// Add completion stuff here
}];
这是解雇它的片段:
[self.navigationController popViewControllerAnimated:NO];
[UIView transitionFromView:controller.view
toView:self.view duration:0.8f
options:UIViewAnimationOptionTransitionFlipFromRight
completion:^(BOOL finished) {
// Add completion stuff here
}];