2013-06-15 2 views
2

버튼을 탭할 때 모달을 보여주는 앱에서 정보보기 컨트롤러를 구현하고 있습니다.세로 스크롤 텍스트 애니메이션하기

보기 컨트롤러에서 나는 거기에 표시되는 UILabel 및 일부 텍스트가 있습니다. 애니메이션이 끝나면 자동으로 페이드 인하거나 스크롤하여 앱 끝의 크레딧을 스크롤 한 팀원의 이름을 스크롤합니다.

누구나 UILabel의 텍스트에 대해 유사한 스크롤 작업을 수행합니까?

답변

3

UIScrollView가 트릭을 수행해야합니다. 무한 루프를 만드는 가장 빠른 방법은 스크롤 뷰의 크기 인 위아래에 빈 영역을 두는 것입니다. (다른 솔루션, like this 또는 WWDC 코드가 있습니다 ("street scroller"에 대한 검색 here ... 그러나 이것들은 단지 "about"뷰를위한 것일 수도 있습니다).

그러나 각 끝에 공백이 있습니다. 이 같은 내용을 수행 할 수 있습니다 단지 루프 :

- (void)loopCredits { 

    CGRect frame = self.creditsScrollView.frame; 
    CGPoint bottomOffset = CGPointMake(0, self.creditsScrollView.contentSize.height-frame.size.height); 

    [UIView animateWithDuration:10.0 animations:^{ 
     self.creditsScrollView.contentOffset = bottomOffset; 
    } completion:^(BOOL finished) { 
     // non animated scroll back, then run this method again with a perform 
     // so we don't wind up the stack 
     self.creditsScrollView.contentOffset = CGPointZero; 
     [self performSelector:@selector(loopCredits) withObject:nil afterDelay:0]; 
    }]; 

페이드 쉽게 마스킹 이미지를 수행 할 수 있습니다, 또는 좀 더 현실에 대, 당신은에 대한 라벨의 위치에 따라 알파 수준을 계산할 수 있습니다 scrollView의 범위 내에서 label의 Y 오프셋

+0

내 .rtf 또는 .txt 파일의 텍스트를 UIScrollView에 추가하는 방법 – motionpotion

+0

읽기 그것을 문자열로 변환 한 다음 읽은 문자열로 UILabel .text 또는 UITextView.text (.editable = NO 사용)를 설정하십시오. 귀하의 질문에 텍스트가 들어있는 레이블이 있다고합니다 (아마도 파일의 텍스트 정보). 스크롤 뷰에 해당 레이블을 넣습니다. – danh