我的应用程序处于工作状态但由于某种原因,当我在解除模态视图控制器时收到内存警告时,我的应用程序转到viewDidUnload。我已经浏览了所有代码,无法找到原因。
在我的应用程序中没有UINavigationController。
MainView的代码:
-(void) showInfo:(id) sender
{
PhotoFeatureViewController *photoGalleryViewController = [[PhotoFeatureViewController alloc] initWithNibName:@"PhotoFeatureViewController" bundle:nil];
photoGalleryViewController.modalPresentationStyle = UIModalPresentationFullScreen;
photoGalleryViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[photoGalleryViewController loadPhotogalleryImages:[itemTagArray objectAtIndex:[detailInfoBtn tag]]];
[self presentModalViewController:photoGalleryViewController animated:YES];
[photoGalleryViewController release];
}
ModalView的代码:
-(IBAction) dismiss
{
[self.parentViewController dismissModalViewControllerAnimated:YES];
}
答案 0 :(得分:1)
在解雇时,请尝试:
[self dismissModalViewControllerAnimated:YES];
答案 1 :(得分:1)
试试这个
-(IBAction) dismiss
{
[self dismissModalViewControllerAnimated:TRUE];
}
答案 2 :(得分:1)
在photoGalleryViewController中添加dismiss功能。 并使用如下:
-(IBAction) dismiss {
[self dismissModalViewControllerAnimated:YES];
}
答案 3 :(得分:0)
你已经得到了答案: -
[self dismissModalViewControllerAnimated:TRUE];
答案 4 :(得分:0)
您是否知道Apple文档建议使用带有ModalViewController的委托?如果你仍然遇到麻烦,这样的不同方法可能会有所帮助:
基本上,您为模拟呈现的视图控制器定义了委托属性(即photoGalleryViewController),并在创建photoGalleryViewController并以模态方式呈现它时将其设置为父视图控制器。在dismiss {}中,您将使用委托(父)来调用处理dismissModalViewController的方法。
它需要为photoGalleryViewController设置协议,并将协议和委托方法添加到父视图控制器的定义中,但这些额外的步骤并不费力,从长远来看,更好的设计可能会得到回报。
Apple Doc - 查看控制器程序员指南http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/ModalViewControllers/ModalViewControllers.html#//apple_ref/doc/uid/TP40007457-CH111-SW14
使用委托设置模态视图控制器的建议: present modal view controller