Как оживить UILabel? - PullRequest
       4

Как оживить UILabel?

1 голос
/ 08 ноября 2011

Я использую UILabel для отображения динамического текста. Когда-то это больше ширины этикетки. Я хочу сдвинуть текст, если UILabel выходит за границы.

Как мне сделать анимацию скольжения с UILabel? Любая помощь?

Ответы [ 3 ]

3 голосов
/ 08 ноября 2011

Изменение моего ответа в соответствии с указанным кратким сообщением -

UILabel *label; //Previously initialized UILabel
float newX   = 0.0;
float newY   = 101.0f;
label.center = CGPointMake(newX, newY);

Если вы хотите анимировать движение, добавьте блок анимации:

UILabel *label; //Previously initialized 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
                }]; 

Обратите внимание, что мы анимируем координату X только так, как вы хотите, чтобы метка скользила.

0 голосов
/ 07 июля 2017
-(void)repeat{


[NSTimer scheduledTimerWithTimeInterval:8.0
                                     target:self
                                   selector:@selector(LabelAnimation)
                                   userInfo:nil
                                    repeats:YES];


}


-(void)LabelAnimation
{

 NSArray *elements = [yourText componentsSeparatedByString:@","];
    NSMutableArray *outputElements = [[NSMutableArray alloc] init];
    for (int i=1;i<[elements count];i++)

            [outputElements addObject:[elements objectAtIndex:i]];


    NSString *outputString = [outputElements componentsJoinedByString:@","];

    [UIView animateWithDuration:3.0f delay:0.2f options:UIViewAnimationOptionTransitionNone animations:^{

        _header.labelHeaderName.text=outputString;
    } completion:^(BOOL finished)
     {
         if (outputString.length == 0) {
            _header.labelHeaderName.text=_strAddress(your saved address);
         }

     }];
    }
0 голосов
/ 08 ноября 2011

Когда мне нужно было сделать что-то подобное, я сделал это. Обратите внимание, что я настраиваю альфа, а не позицию, но я надеюсь, что это может помочь вам:

[UIView animateWithDuration:0.3f animations:^{yourLabel.alpha = 0.f;}];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...