2014-09-21 1 views
-1

나는 2 장면, "장면 목록"과 "세부 장면"했다. "List Scene"에서 항목을 클릭하면 "Details Scene"으로 이동합니다. "세부 장면"에는 애니메이션이 있었는데 이미지 왼쪽에서 오른쪽 또는 오른쪽에서 왼쪽으로 이미지가 반복적으로 이동합니다. 내가 "List Scene"으로 돌아간 후에, "매달려있는"것처럼 보이는 장면이 나옵니다. 더 이상 목록에 대해 아무 것도 할 수 없습니다 (스크롤과 같은). 내가 체크 아웃 한 후에, "왼쪽에서 오른쪽으로, 오른쪽에서 왼쪽으로"애니메이션이 여전히 뒤에서 실행 중임을 알게되었습니다. 그래서 지금 나는 이전 장면이 여전히 실행 중이므로 현재 장면이 내 손가락을 감지 할 수 없기 때문에 가정합니다.xcode, 어떻게 파괴/이전 컨트롤러/장면 popviewcontrolleranimated 후 취소/해제

그래서 내 질문은 어떤 방법으로도 제거/해제/이전 장면을 popviewcontrolleranimated 후에 무시할 수 있습니까? 아래 코드 은 지금 테스트중인 코드입니다.

-(void)viewWillDisappear:(Bool)animated{ 
[super viewWillDisappear:animated]; 
self.imagePanViewController = nil; //target is this viewcontroller, this viewcontroller handle the animation 
[self.navigationController setNavigationBarHidden:NO animated:YES]; 
} 

"dismissViewController", release, controller = nil 등과 같은 방식으로 시도해 보았습니다. 결과는 여전히 실패하고 애니메이션은 계속 실행됩니다.

어떤 사람이 나에게 몇 가지 지침이나 힌트를 줄 수 있다는 것은 무엇입니까? 고마워!

+0

명확하지 않습니다. "Left to Right, Right To Left"애니메이션 – bllakjakk

+0

@bllakjakk에 대한 소스를 추가하십시오. 애니메이션 소스는 많은 파일과 클래스를 결합합니다. 여기에 모두 넣을 필요가 있니? 비록 어떤 방식 으로든 파괴/릴리스/전체 viewcontroller 해고 viewcontroller 어떻게 됐어? – Lazarus

답변

0

myidleTimer는 NSTimer라고 생각합니다. NSTimer는 목표를 유지합니다. 아래 링크를 클릭하여 적절하게 무효화 할 수 있습니다. Best time to invalidate NSTimer inside UIViewController to avoid retain cycle

또한 타이머가 약한 참조를 만드십시오.

+0

나는 코드를 업데이트했는데, 잘못된 방향으로 유감스럽게 생각한다. "myidleTimer"는 멈췄다. 바로 문제는 "self.imagePanViewController"입니다. 왜냐하면이 ViewController가 여전히 "List Scene"에서도 실행되기 때문입니다. – Lazarus