2011-08-22 1 views
1

좋아, 지금이 순간은 정말 기분이 좋았습니다. 그것에서 어떤 감각을 만들어라. .. 나는 그것을 googled했고, 아직도 아무것도하지 않았다."애니메이션"이 "예"로 설정된보기 컨트롤러를 밀 때 iOS 앱이 충돌하지만 "애니메이션"이 "아니요"로 설정된 경우 잘 작동합니다.

루트보기 컨트롤러를 푸시하도록 UINavigationController를 설정했습니다. 그런 다음 루트 뷰 컨트롤러는 UIButton을 누를 때 새로운 뷰 컨트롤러 (실제로는 TableViewController)를 푸시합니다. 여기에서 상황이 이상하게 보입니다.

"animated"를 "YES"로 설정하면 앱이 작동하지 않습니다. 나는이를 변경하고 설정하면

[[self navigationController] pushViewController:listView animated:YES]; 

은 "NO"앱이 정상적으로 계속 멋지게 기능 ... 나는 다시 "YES"를 "애니메이션"설정 "애니메이션", 그리고 다시 충돌합니다.

애니메이션을 유지할 수 있다면 궁극적으로 나는 그것을 좋아할 것입니다. 그것은 결국 iOS에 대한 가장 아름다운 것들 중 하나이지만, 현재의 상황에서 나는 내 삶에 대해 무엇이 일어나는지 알아낼 수 없습니다. 에.

여기에 잘못 될 수있는 점을 알려주십시오.

+1

예외 및/또는 스택 추적이 무엇인지 모르는 경우 도움이 어렵습니다. –

+1

좀비를 켜고 인스 트루먼 트에서 앱을 실행하는 것이 좋을 것입니다.이 경우 공개되고 액세스되는 것을 보여 주어야하며 이는 아마도 충돌의 원인 일 것입니다. http://stackoverflow.com/questions/5386160/how-to-enable-nszombie-on-xcode-4 –

답변

1

애니메이션이 켜지면 코어 애니메이션은 CALayer 개체 인 루트 뷰 컨트롤러와 새 뷰 컨트롤러의 뷰의 그려진 부분에 액세스합니다. 애니메이션이 꺼지면 코어 애니메이션에는 루트보기 컨트롤러의 CALayer 객체가 필요하지 않습니다. 어쩌면 루트보기에서 일부보기를 풀어 놓고 CALayer 개체를 너무 빨리 백업 할 수 있습니다.

1

감사합니다. Berna 씨, 실제로 저를 해결책으로 이끌어 준 팁을 주셨습니다. 문제는 뷰 컨트롤러는 실제로 NSArray에있는 항목을 기반으로 셀이 동적으로 만들어지는 테이블 뷰 컨트롤러입니다. viewDidLoad 함수에서 NSArray를 초기화하고 있었지만, autorelease로 설정 했으므로 CALayer가 뷰를 그릴 수 있기 전에 메모리에서 릴리즈되었습니다.

관련 문제