2011-06-21 24 views
0

我的應用程序處於工作狀態,但由於某種原因,我的應用程序在解除模態視圖控制器時收到內存警告時轉至viewDidUnload。我已經完成了所有的代碼,找不到原因。dismissModalViewController無法正常工作

在我的應用程序中沒有UINavigationController。爲的MainView

代碼:爲ModalView

-(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]; 
} 

代碼:

-(IBAction) dismiss 
{ 

    [self.parentViewController dismissModalViewControllerAnimated:YES]; 

} 

回答

1

在解僱,嘗試:

[self dismissModalViewControllerAnimated:YES]; 
1

嘗試這個

-(IBAction) dismiss 
{ 
    [self dismissModalViewControllerAnimated:TRUE]; 
} 
1

在photoGalleryViewController中添加關閉功能。 並使用它象下面這樣:

-(IBAction) dismiss { 
    [self dismissModalViewControllerAnimated:YES]; 
} 
0

你已經得到了答案: -

[自dismissModalViewControllerAnimated:TRUE]

0

您是否知道Apple文檔推薦使用帶有ModalViewController的代理?如果你仍然遇到麻煩,這樣的方法可能會有所幫助:

基本上,你爲模式呈現的視圖控制器定義了一個委託屬性(即photoGalleryViewController),並在創建photoGalleryViewController時將其設置爲父視圖控制器並以模態方式呈現。在dismiss {}中,您可以使用委託(父)來調用處理dismissModalViewController的方法。

它需要爲photoGalleryViewController設置一個協議,並將協議和委託方法添加到父視圖控制器的定義中,但這些額外的步驟並不費力氣,而且從長遠來看,更好的設計可能會帶來收益。 present modal view controller

: -

蘋果文件上使用代表設置模式視圖控制器視圖控制器編程指南http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/ModalViewControllers/ModalViewControllers.html#//apple_ref/doc/uid/TP40007457-CH111-SW14

建議