2011-07-20 38 views
0

我写了下面显示字幕的代码---我如何在我的应用程序中使用选取框?

- (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然后选框开始并附加字符串。

Plz帮我解决了这个问题.. 在此先感谢。

回答

相关问题