2013-05-16 4 views
0

때로는 [self presentViewController:viewController animated:YES completion:nil];을 사용할 때 또는 모달 세구가 전환을 처리하는 경우에도 전환이 전혀없이 갑자기 팝업되어 추악 해 보입니다. 드물지만, 이런 일이 발생하면 모든 단일 모드 VC는 어디서/어떻게 호출되는지에 관계없이 동일하게 작동합니다. 앱을 다시 시작하면 문제가 발생하며 잠시 후에 다시는 발생하지 않습니다. 뭔가 이상한이지만, VC를 기각 할 때 전환이 있습니다. 이거 버그 야? 도움을모달 ViewController 애니메이션없이 팝업, 버그?

감사,
감사
마이크

업데이트 :가 나는 원인을 찾은 것 같아요. 이 버그 효과 대부분의 모달 VC의 모든 SEGUE 모달 VC의 경우 지금까지 나는이처럼 내 자습서보기를 제시 :

[tableView deselectRowAtIndexPath:indexPath animated:NO]; 
    TutorialViewController *tutPopUp = [[TutorialViewController alloc] init]; 
    self.tabBarController.modalPresentationStyle = UIModalPresentationCurrentContext; 
    [self presentModalViewController:tutPopUp animated:NO]; 

나는 문제가 전체 탭 표시 줄에 영향을 미친다 self.tabBarController.modalPresentationStyle = UIModalPresentationCurrentContext;으로 생각합니다. 이 특정 VC를로드하고 나면 다시 설정할 수있는 기본값은 무엇입니까?

답변 : 애플 문서의 일부 독서를하고 난 후에 나는 기본 modalPresentationStyle이 때문에 따라서 다른 presentationStyle를 사용하여 후 고정하는 설정 UIModalPresentationFullScreen 것을 발견했다.

답변

1

이 문제는 내가 다른 곳에서 내 응용 프로그램의 다른 VC를 표시하는 데 사용되는 일부 코드가 여기에있다 애니메이션이없는 프리젠 테이션 스타일. 나는 modalPresentationStyleUIModalPresentationFullScreen이라는 것을 발견했다. 그래서 다른 presentationStyle을 사용하고 나서 설정했다. 문제가 해결되었다.

1

기기에서이 문제가 발생하는 경우 메인 스레드에서 차단 및 더듬이를 일으키는 집중적 인 CPU 작업이 있다고 생각됩니다. 시뮬레이터에 있다면 Mac이 그 순간에 과부하가 걸릴 수도 있습니다.

당신이 말하는 한 가지 사실이 당신의 기억 관리에 대해 궁금합니다. 앱을 종료하면 잠시 문제가 사라진다 고 말합니다. 성능에 영향을 미치는 메모리 누수가 있다고 생각합니다. ARC를 사용하고 있습니까?

애니메이션을 명시 적으로 호출 중이므로 UIKit 수준에서 표시하지 않을 이유가 없습니다. 이 내 응용 프로그램에서 전체 탭 표시 줄에 영향을 미친다 및 변경되기 때문에 self.tabBarController.modalPresentationStyle = UIModalPresentationCurrentContext; : 특별히 여기

[tableView deselectRowAtIndexPath:indexPath animated:NO]; 
    TutorialViewController *tutPopUp = [[TutorialViewController alloc] init]; 
    self.tabBarController.modalPresentationStyle = UIModalPresentationCurrentContext; 
    [self presentModalViewController:tutPopUp animated:NO]; 

문제 :

+0

안녕하세요, 답변 해 주셔서 감사합니다. 예. 저는 ARC를 사용하고 있습니다. CPU 과부하에 관해서는, 확실히 그렇게 느끼지 않습니다. 몇 가지 계산을하는 동안, 그들은 최소한이고, 버튼과 VC가 터지는 사이에 0 지연이 있습니다, 나는 CPU가 과부하되었을 경우에는 그렇지 않을 것이라고 생각합니다. 이 앱은 매우 반응이 좋으며 종종 버그가 발생하지 않고 여러 해 동안 앱을 사용할 수 있습니다. – Mackey18

+0

시뮬레이터에 표시됩니까? – Justin

+0

안녕하세요, 제 원래 게시물을 수정 해주세요. 내가 문제를 발견했다는 것을 생각해 보라. 문제가 해결되지 않았다. – Mackey18