Как я могу использовать Marquee в моем приложении? - PullRequest
0 голосов
/ 20 июля 2011

Я написал код для выделения, показанный ниже ---

- (void)viewDidAppear:(BOOL)animated {

     [super viewDidAppear:YES];
    //NSTimer *timer=[[NSTimer alloc] initWithFireDate:nil interval:.5 target:self selector:@selector(marqueDisplay) userInfo:nil repeats:YES];
    [NSTimer scheduledTimerWithTimeInterval:7.0
                                     target:self
                                   selector:@selector(marqueDisplay)
                                   userInfo:nil
                                    repeats:YES];

}

-(void)marqueDisplay
{
    NSString *theMessage = @"Hello, my name is Enigo Montoya. You killed my father, prepare to die";
    NSUInteger length = [theMessage length];
    NSLog(@"%d",length);
    if (length>69) {    
    messageSize = [theMessage sizeWithFont:[UIFont systemFontOfSize:14.0]];
    messageView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, messageSize.width, 19)]; //x,y,width,height
    [messageView setClipsToBounds:YES]; // With This you prevent the animation to be drawn outside the bounds.
    [self.view addSubview:messageView];

    lblTime = [[UILabel alloc] initWithFrame:CGRectMake(-400, 0, messageSize.width, 19)]; //x,y,width,height
    [lblTime setBackgroundColor:[UIColor darkGrayColor]];
    lblTime.font = [UIFont systemFontOfSize:14];
    [lblTime setText:theMessage];
    [lblTime setTextAlignment:UITextAlignmentLeft];
    //lblTime.frame = CGRectMake(0, 0, messageSize.width, 19); //x,y,width,height
    [messageView addSubview:lblTime];

    float duration = messageSize.width / 60; // This determines the speed of the moving text.
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:duration];
    [UIView setAnimationTransition:UIViewAnimationTransitionNone forView:messageView cache:YES];
    lblTime.frame = CGRectMake(messageSize.width, 0, messageSize.width, 19); //x,y,width,height
    [UIView commitAnimations];  
    }
}

это работает, но это не удовлетворяет мою потребность ... На самом деле текст не движется в форме цикла, Я хочу, чтобы, если длина строки> 60, то начало строки и добавление строки.

Плз, помогите мне решить эту проблему .. Заранее спасибо.

1 Ответ

0 голосов
/ 20 июля 2011

Вот, пожалуйста, https://github.com/jeffhodnett/JHTickerView

вот еще один https://github.com/ConceitedCode/CCScrollingLabel

Я надеюсь, что ваша проблема будет решена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...