2011-11-26 2 views
0

안녕하세요 StackOverflow! 내 앱 프로그래밍이 끝났습니다. 모든 것이 잘 작동합니다. 따라서 함수 부분이 완료되었으므로 양식 작업을 시작하겠습니다. 그러나, 나는 문제를 일으키는 약간의 코드를 가지고 있으며, 왜 그런지 잘 모르겠습니다. 내 애플 리케이션 사이에 전환 두 가지보기가 있습니다. 버튼을 누를 때 나는이 같은 기본보기 및 플래너보기 사이를 전환, 그리고 나중에UIView TransitionFromView가 스크롤을 사용 중지합니다.

[PlannerView setScrollEnabled:YES]; 
[PlannerView setContentSize:CGSizeMake(320, 735)]; 

과 : viewDidLoad에, 나는 코드의 두 라인을 가지고

if (isPlannerView) { 
//  [self setView:MainView]; 
    [UIView transitionFromView:PlannerView 
         toView:MainView 
         duration:0.5 
         options:UIViewAnimationOptionTransitionFlipFromRight 
        completion:^(BOOL finished){ 
         [self setView:TimerView]; 
        }]; 
    isPlannerView = NO; 
} else { 
    [UIView transitionFromView:MainView 
         toView:PlannerView 
         duration:0.5 
         options:UIViewAnimationOptionTransitionFlipFromLeft 
        completion:^(BOOL finished){ 
        }]; 
//  [self setView:PlannerView]; 
    isPlannerView = YES; 
} 

를 이제 때 나는 hte 주석 처리 된 코드 줄 (self setview)을 사용하는데 아무 문제없이 스크롤 할 것이다. 그러나 UIView transitionFromView 사용할 때 더 이상 스크롤합니다. 어떤 생각이 잘못된 것입니까?

답변

0

transitionFromView:toView:duration:options:completion:에 대한 문서는 말한다 :

이 방법은 자신의 뷰 계층의 견해를 수정합니다. 어떤 식 으로든 응용 프로그램의보기 컨트롤러를 수정하지 않습니다. 예제의 경우이 방법을 사용하여 보기 컨트롤러가 표시하는 루트보기를 변경하는 경우 변경 사항을 처리하기 위해 컨트롤러를 적절하게 업데이트해야 할 것은 사용자의 책임입니다.

따라서 viewDidLoad :가 실제로 호출되고 있는지 확인하십시오. 또한

애니메이션 중에는 애니메이션이 적용되는 동안 의 사용자 상호 작용이 일시적으로 비활성화됩니다. iOS 5 이전 버전에서는 전체 응용 프로그램에 대해 사용자 상호 작용이 해제되었습니다. 사용자가 보기와 상호 작용할 수있게하려면 매개 변수에 UIViewAnimationOptionAllowUserInteraction 상수를 포함하십시오.

애니메이션이 끝나면보기에서 사용자 상호 작용이 활성화되어 있는지 확인하십시오.

completion:^(BOOL finished){ 
    [PlannerView setUserInteractionEnabled:YES]; 
}]; 

출처 : 응답 UIView Class Reference

+0

감사합니다! 불행하게도 이것이 이것이 일어날 수있는 이유에 대한 약간의 설명을하는 동안, 제안 된 코드는 여전히 작동하지 않습니다. 나는 또한 options 매개 변수에 UIViewAnimationOptionAllowUserInteraction을 포함 시키려고 시도했지만 그 중 하나도 작동하지 않았습니다. – user1067112

관련 문제