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帮我解决了这个问题.. 在此先感谢。