2011-09-13 16 views
0

私は初心者です。次の問題があります。誰かが私を助けてくれることを願っています。私のアプリケーションが読み込まれると、戻るボタンを持つそれぞれ異なるUIWebViewsをロードするいくつかのボタンがあります。最初のビューは正常にロードされ、戻るボタンを押すとメインビューに戻りますが、2番目のビューをロードすると最初のURLが再びロードされ、戻るボタンを押すと2番目のビューがロードされます。スタックから荷降ろししないでください

最初のビューがビューからアンロードされていないかのようです。もし誰かが助けることができれば、それは大いに覚悟するでしょう。ここに私のコードです。各ビューをアンロードし、メイン画面に事前に

-(IBAction)backButton:(id)sender { 

[UIView beginAnimations:@"flipping view" context:nil]; 
[UIView setAnimationDuration:1]; 
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; 
[UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:self.view.superview cache:YES]; 

[self.view removeFromSuperview]; 
[UIView commitAnimations]; 
} 

感謝を返すためのURL

-(void)viewDidLoad { 
[super viewDidLoad]; 

NSURL *url = [NSURL URLWithString:@"http://www.kingsgroversl.com.au"]; 
NSURLRequest *request = [NSURLRequest requestWithURL:url]; 

[webView loadRequest:request]; 
} 

をロードするには、各ビュー

-(IBAction)displayLocationView:(id)sender { 
locationViewController = [[LocationViewController alloc]initWithNibName:@"LocationViewController" bundle:nil]; 


[UIView beginAnimations:@"flipping view" context:nil]; 
[UIView setAnimationDuration:1]; 
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; 
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:YES]; 

[self.view addSubview:locationViewController.view]; 
[UIView commitAnimations]; 
} 

をロードするために

答えて

0

問題はここにある

-(IBAction)backButton:(id)sender { 

[UIView beginAnimations:@"flipping view" context:nil]; 
[UIView setAnimationDuration:1]; 
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; 
[UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:self.view.superview cache:YES]; 

[self.view removeFromSuperview];// change this to 

[locationViewController.view removeFromSuperview]。 [UIView commitAnimations]; }

上記の行を変更する必要があります。 現在、あなたがしているのは、sel.view ....を削除することです。これは正しくありません。 サブビューを削除する必要があります。 このように

[locationViewController.view removeFromSuperview]; 

これは、[self.navigationcontrollerのpushviewcontroller使用することをお勧めしますがremovefromsuperviewを使用している場合、それはあなたがsuperview.Butからではないmemory.Soから削除されることを意味し、あなたに

+0

上記の変更を加えましたが、何も変更されていません。それ以上の助け?お願いします? – Wayne

+0

Wayne ...サブビューを削除する必要があります。サブビューがすべてあるビューではなく、サブビューを確認してサブビューを削除する必要があります。self.view ..... – Sabby

0

を助けることを願っています:のViewControllerをアニメーション:はい];

+0

最初のビュー(最初のビューのみ)がロードされ、戻るボタンが最初のURLをリロードするループが作成されています。それ以上の助け。 – Wayne

関連する問題