Игра для Android продолжает быть взломанной [закрыто]

Лучшее решение, которое я обнаружил для обнаружения кнопки обратной кнопки UINavigationController (pre-iOS 5.0), заключается в проверке того, что текущий контроллер просмотра отсутствует в стеке контроллера представления контроллера навигации.

Возможно, безопаснее проверить это условие в - (void)viewDidDisappear:(BOOL)animated как логически, к моменту вызова этого метода было бы крайне вероятно, что диспетчер представлений был удален из стека.

Pre-iOS 5.0:

- (void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];

    if (![[self.navigationController viewControllers] containsObject:self]) {
        // We were removed from the navigation controller's view controller stack
        // thus, we can infer that the back button was pressed
    }
}

iOS 5.0+ вы можете использовать -didMoveToParentViewController:

- (void)didMoveToParentViewController:(UIViewController *)parent
{
    // parent is nil if this view controller was removed
}

142
задан Benjamin Gruenbaum 6 January 2014 в 22:35
поделиться