Iphone 翻转视图时出现问题
我在获取翻转视图时遇到一些问题。我的视图控制器中有以下代码:Iphone 翻转视图时出现问题,iphone,cocoa-touch,Iphone,Cocoa Touch,我在获取翻转视图时遇到一些问题。我的视图控制器中有以下代码: - (void)loadFlipsideViewController { ProblemViewFlipController *viewController = [[ProblemViewFlipController alloc] initWithNibName:@"ProblemViewFlip" bundle:nil]; self.problemViewFlipController = viewController
- (void)loadFlipsideViewController {
ProblemViewFlipController *viewController = [[ProblemViewFlipController alloc] initWithNibName:@"ProblemViewFlip" bundle:nil];
self.problemViewFlipController = viewController;
[viewController release];
}
- (void) flipView {
if (problemViewFlipController == nil) {
[self loadFlipsideViewController];
}
UIView *mainView = self.view;
UIView *flipView = problemViewFlipController.view;
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1];
[UIView setAnimationTransition:([mainView superview] ? UIViewAnimationTransitionFlipFromLeft : UIViewAnimationTransitionFlipFromRight) forView:self.view cache:YES];
if ([flipView superview])
{
[flipView removeFromSuperview];
[self.view addSubview:mainView];
}
else
{
[mainView removeFromSuperview];
[self.view addSubview:flipView];
}
[UIView commitAnimations];
}
问题是,当我调用flipView时,该视图将替换为空白视图(即,我要翻转的视图中不会显示任何内容)
这里有什么明显的我遗漏的吗?(我怀疑有!)不是肯定的,但我认为您需要使用“控制器”来翻转视图。看起来您正在使用其中一个翻转视图作为控制器。只需添加根控制器即可翻转视图 这样的代码应该在根控制器上工作:
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.view cache:YES]; // self.view is the root controller's view
[mainViewController viewWillAppear:YES];
[flipViewController viewWillDisappear:YES];
[flipViewController.view removeFromSuperview];
[self.view addSubview:mainViewController.view];
[flipViewController viewDidDisappear:YES];
[mainViewController viewDidAppear:YES];
[UIView commitAnimations];
基于变量名,这看起来像是根据从XCode获得的默认“实用程序”应用程序模板改编的。如果模板项目有效,而您的项目无效,那么您显然更改了一些不应该更改的内容:-)
很可能,控制器中应该指向视图的一个插座没有。仔细检查NIB,并检查调试器中的输出值。如果所有其他操作都失败,请从模板重新开始,看看它在什么时候停止工作。这使我走上了正确的轨道-我在当前控制器上的视图和另一个控制器上的视图之间切换,而不是使用此控制器在其他两个控制器上的视图之间切换。干杯