Как убрать вид из окна? - PullRequest
0 голосов
/ 29 марта 2010

Я использую Cocos2D для моей основной платформы. В некоторых случаях я хочу, чтобы Cocos2D загрузил файл пера, и это будет вид:

window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
TargetPlayerViewController *myController = [[TargetPlayerViewController alloc]initWithNibName:@"TargetPlayerViewController" bundle:nil];
[window addSubview:[myController view]];
[window makeKeyAndVisible];

Это работает, как ожидалось, и показывает TargetPlayerViewController. Замечательно!

Что мне нужно знать: как только это представление было загружено, как я могу удалить само представление? Я пробовал несколько разных способов, но все они приводят к сбою программы.

Для проверки у меня есть кнопка в представлении, которая запускает этот метод:

- (IBAction)GTFOnow:(id)sender {
    NSLog(@"GFTO");
    //window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    //[self.view removeFromSuperview];
    //[window makeKeyAndVisible];
}

GTFOnow - это метод в TargetPlayerViewController. Когда он вызывается, текущее подпредставление (которое было вызвано в коде Cocos2D выше) должно быть удалено из окна.

1 Ответ

0 голосов
/ 29 марта 2010

Прежде всего, вы не должны создавать новое окно только потому, что хотите удалить подпредставление. Во-вторых, что бы ни случилось, это не должно вызывать сбой приложения. В каком классе у вас есть метод GTFOnow? Я полагаю, в классе TargetPlayerViewController?

...