我已经阅读了所有其他用户对问题的描述,但他们似乎并没有得出结果对我有用,或者他们以“我修好了他们 - 感谢你的帮助”结束,但他们忽略了分享他们的解决方这是我的代码提示和解散(所有关键对象都是我的应用程序委托的属性。我试图打开一个关于页面,然后返回到应用程序。我做错了什么?
目前的模态VC(有效):
-(IBAction) showInfoButton: (id) sender {
NSLog(@"%s", __FUNCTION__);
if( aboutViewController == nil ) {
aboutViewController = [[[AboutViewController alloc] initWithNibName:@"About" bundle:[NSBundle mainBundle]] autorelease];
[appDelegate.window addSubview: aboutViewController.view];
}
appDelegate.modalNavigationController = [[UINavigationController alloc] initWithRootViewController:aboutViewController];
[appDelegate.modalNavigationController presentModalViewController:appDelegate.modalNavigationController animated: YES];
}
我从关于视图控制器的解雇(不起作用):
-(IBAction) dismissAbout: (id) sender {
NSLog(@"%s", __FUNCTION__ );
[self dismissModalViewControllerAnimated:YES];
}
我试过动画'不',但这没有任何区别。我试图将我的代码与其他人的代码相匹配,但这没有任何区别。我四处走动,所以对任何帮助表示赞赏。
答案 0 :(得分:4)
XCode中的翻转控制器的默认模板,建议你需要在模态控制器中有一个委托,指向你的初始控制器。最简单的是如果您在xcode中创建一个新项目,请选择Utility应用程序并查看代码。
简而言之,这应该是主屏幕控制器
中的代码- (IBAction)showInfo;
{
InfoScreen * aboutViewController = [[InfoScreen alloc] initWithNibName:@"InfoScreen" bundle:nil];
aboutViewController.delegate =self;
[self presentModalViewController: aboutViewController animated:YES];
[aboutViewController release];
}
- (void)flipsideViewControllerDidFinish;
{
[self dismissModalViewControllerAnimated:YES];
}
这是你的关于屏幕的后退按钮的动作:
- (IBAction)done {
[self.delegate flipsideViewControllerDidFinish];
self.delegate = nil;
}
为了让委托响应flipsideViewControllerDidFinish等,代码还有一些更多,这与你要求解除的控制器没有关系,但查看Utility app模板将会说清楚。