Я написал код для выделения, показанный ниже ---
- (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, то начало строки и добавление строки.
Плз, помогите мне решить эту проблему ..
Заранее спасибо.