Просмотр не выгружается из стека - PullRequest
0 голосов
/ 13 сентября 2011

Я новичок, и у меня есть следующая проблема, я надеюсь, что кто-то может помочь мне с этим.Когда мое приложение загружается, оно имеет несколько кнопок, которые загружают разные UIWebView, каждая из которых имеет кнопку возврата.Первый вид загружается нормально, и когда вы нажимаете кнопку «Назад», вы возвращаетесь к основному виду, однако, когда вы загружаете второй вид, первый URL загружается снова, а когда вы нажимаете кнопку «Назад», он загружает второй вид.

Кажется, что первый вид не выгружается из вида.Если кто-то может помочь, это очень ценится.Вот мой код.

Чтобы загрузить каждый вид

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

Чтобы загрузить URL

-(void)viewDidLoad {
[super viewDidLoad];

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

[webView loadRequest:request];
}

Чтобы загрузить каждый вид и вернуться к главному экрану

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

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 13 сентября 2011

Когда вы используете removefromsuperview, это означает, что вы удаляете из superview. Но не из памяти. Так что лучше использовать [self.navigationcontroller pushviewcontroller: viewcontroller animated: YES];

0 голосов
/ 13 сентября 2011

Проблема здесь

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

Надеюсь, это поможет вам

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...