2014-10-31 3 views
3

У моего приложения есть одна большая проблема. В основном на iOS 8, потому что мы не нашли это на других версиях iOS.App замораживание на ios 8 при нажатии или поп

Он иногда замирает, когда нажимается на новый контроллер или появляется на предыдущий контроллер. Но что-то странное, если вы нажмете кнопку «домой» и запустите приложение из фона. Он будет работать немного. Здесь я имею в виду, что появился новый толкаемый или всплывающий контроллер представлений, но вы по-прежнему не могли нажать или всплывать новые контроллеры представлений.


обновление: память, процессор и использование диска все нормально, когда приложение замораживания.

+0

У вас есть код, чтобы разделить вокруг, когда это толчок/поп и код, который вы имеете в подобных 'viewDidLoad' я нашел в прошлом, что иногда в' viewDidLoad' но это похоже, что это в том, что делает push/pop? Также у вас есть отчет о сбоях? Или консольный выход? – Popeye

+0

@Popeye Извините, приложение может зависнуть на любой странице. Так что не очень относительный код для обмена. – sunkehappy

+0

Нам нужно что-то, чтобы сузить его, просто сказав, что это может привести к сбою в работе любой страницы, что еще более затрудняет нам давать ответ без кода. – Popeye

ответ

16

Мы наконец решили эту проблему. Причина в том, что мы не отключили interactivePopGestureRecognizer, когда стек контроллера представления имеет только 1 контроллер вида. Добавить проверку решит проблему. См. Ниже код.

- (void)navigationController:(UINavigationController *)navigationController 
     didShowViewController:(UIViewController *)viewController 
        animated:(BOOL)animate 
{ 
    if ([self respondsToSelector:@selector(interactivePopGestureRecognizer)]) 
    { 
     if (self.viewControllers.count > 1) 
     { 
      self.interactivePopGestureRecognizer.enabled = YES; 
     } 
     else 
     { 
      self.interactivePopGestureRecognizer.enabled = NO; 
     } 
    } 
} 
+0

Благодарим вас за ответ. Вы сохраняете мою работу. :) –

Смежные вопросы