Правильно удалить представление и добавить подпредставление - PullRequest
2 голосов
/ 13 августа 2011

Я пытаюсь добавить подпредставление, а затем также удалить предыдущее представление.

вот как выглядит мой код:

    HowToPlay *LetsPlay = [[HowToPlay alloc] initWithNibName:@"HowToPlay" bundle:nil];

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.75];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight
                       forView:[self view]
                         cache:YES];
[UIView commitAnimations];  



MainViewController *ma = [[MainViewController alloc]init];
[ma.view removeFromSuperview];

[self.view addSubview:LetsPlay.view];

Mainviewcontroller - это представление, которое в данный момент включено,Я хочу, чтобы он отклонил это представление, а затем добавьте новое представление LetsPlay.

Этот код выполняется и загружает новое представление, но когда я затем загружаю другое представление из LetsPlay, я вижу, что mainviewcontrollerвсе еще бежит за этим.Я хочу окончательно уволить его.

Также я даже не уверен, правильно ли я это делаю, поэтому, если я не смогу, пожалуйста, дайте мне пример того, как это сделать правильно.

Спасибо:)

1 Ответ

5 голосов
/ 13 августа 2011

Вы не поймете это правильно: вы создаете новый экземпляр MainViewController (а также его связанного представления). Затем вы пытаетесь удалить это вновь созданное представление (назовите его instance2) из ​​его суперпредставления, пока оно даже не было добавлено к представлению (instance1 имеет). Вот почему вы все еще видите mainviewcontroller.

Вместо этого вам нужно получить текущий / активный MainViewController. То есть Вы должны держаться за ссылку на этот контроллер представления. Затем вы можете вызвать removeFromSuperview для его просмотра.

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

...