2013-06-19 1 views
1

UIViewController에서 xib의 내비게이션 제목에 UILabel을 사용하고 있습니다. 하지만 텍스트가 너무 길어 애니메이션이 필요합니다. 왼쪽에서 오른쪽으로 움직이는 것 같은 것이 있습니다 UILabel?왼쪽에서 오른쪽으로 탐색 표시 줄에있는 uilabel을 움직일 수 있습니까?

그럴 수 있습니까? 이 코드를 보았지만 한 점을 다른 점으로 이동하는 데 사용됩니다. 다음 UILabel 이름은 "라벨"입니다

float newX = 90.0f; 
float newY = 101.0f; 

[UIView transitionWithView:label 
        duration:0.5f 
        options:UIViewAnimationCurveEaseInOut 
       animations:^(void) { 
        label.center = CGPointMake(newX, newY); 
       } 
       completion:^(BOOL finished) { 
        // Do nothing 
       }]; 
+0

당신이 추가하는 시도 되세요있는 UIScrollView에 UILabel의 그? 어쩌면 scrollBy를 애니메이션으로 오프셋 할 수 있습니까? – Konrad77

+0

내가 무슨 말을했는지 이해할 수 없다. – Navi

+0

UIlabel을 사용하여 UIBarButtonItem을 초기화하는 대신 UILabel을 서브 뷰로 사용하는 UIScrollView를 사용하여 초기화해야한다. – Konrad77

답변

3

레이블의 각 문자를 오른쪽으로 이동시키는 효과를 원하는 것으로 알고 있습니다.

여기 방법이 있습니다.

- (void)viewDidAppear:(BOOL)animated 
{ 
    [super viewDidAppear:animated]; 
    NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:0.4 target:self selector:@selector(animateLabel:) userInfo:nil repeats:YES]; 
} 

그런 다음 레이블 텍스트를 얻고 새로운 텍스트로 다시 설정하는 방법을 정의 : 아래 그림과 같이

는 먼저 지정된 시간 간격으로하는 방법 animateLabel를 호출 할 viewDidAppear: 방법에 NSTimer을 설정합니다. 이 방법은 0.4 초마다 호출되며 원하는 마키 효과를 제공합니다.

- (void)animateLabel:(NSTimer *)timer 
{ 
    int labelSize = label.text.length; 
    label.text = [NSString stringWithFormat:@"%c%@", [label.text characterAtIndex:labelSize - 1], [label.text substringWithRange:NSMakeRange(0, labelSize - 1)]]; 
} 

P. : 내비게이션 타이틀과 같은 움직이는 효과를 보지 못했습니다. 나는 인기있는 앱을 보았다. 라벨이 네비게이션 제목에 맞지 않을만큼 길다면 끝 부분에 ...으로 그대로 두었다. 나는 당신이 똑같이해야한다고 말하지 않고 단지 당신에게 말하고 싶습니다.

편집 :이 오른쪽에서 왼쪽으로 작업을 수행하려면 :

- (void)animateLabel:(NSTimer *)timer 
{ 
    int labelSize = label.text.length; 
    label.text = [NSString stringWithFormat:@"%@%c", [label.text substringWithRange:NSMakeRange(1, labelSize - 1)], [label.text characterAtIndex:0]]; 
} 
+0

label.length; 이 같은 속성이 없습니다 – Navi

+0

나는 텍스트를 NSString에 저장하고 길이를 찾고 그 텍스트를 uilabel..thanks akash에 복사합니다 – Navi

+0

@ user2439088 별도의 NSString을 복사 할 필요가 없습니다. 내 편집 된 코드를 참조하십시오. – Geek

0

당신이 다시 한 점에 UILabel의 등을 이동 평균, 왜 다른 애니메이션 호출 완료를 사용하지 않는 경우?

+0

아니요 원형 원형이 필요 없습니다 – Navi

관련 문제