Изменить текст в UILabel с продолжительностью времени - PullRequest
0 голосов
/ 04 ноября 2010
UILabel *scoreLabel = [ [UILabel alloc ] initWithFrame:CGRectMake((self.bounds.size.width / 2), 0.0, 150.0, 43.0) ]; 

scoreLabel.textAlignment =  UITextAlignmentCenter; 

scoreLabel.textColor = [UIColor whiteColor]; 

scoreLabel.backgroundColor = [UIColor blackColor]; 

scoreLabel.font = [UIFont fontWithName:@"Arial Rounded MT Bold" size:(36.0)]; 

[self addSubview:scoreLabel]; 

scoreLabel.text = [NSString stringWithFormat: @"%d", score]; 

Может кто-нибудь показать мне пример того, как я могу манипулировать UILabel для iphone, чтобы менять каждые 1 минуту на 100 разных слов? Очевидно, вам не нужно вводить 100 разных слов, но каков процесс добавления кода, чтобы слова не менялись каждые 1 минуту? Спасибо за помощь.

Ответы [ 2 ]

2 голосов
/ 04 ноября 2010

Я не совсем уверен, что вы подразумеваете под «продолжайте добавлять слова».Вероятно, вам нужен NSMutableArray для хранения слов. Затем используйте NSTimer, чтобы каждую минуту вызывать метод для установки метки для нового слова.

Как использовать NSTimer: Как использоватьNSTimer?

Как использовать NSMutableArray: http://www.cocoadev.com/index.pl?NSMutableArray

0 голосов
/ 04 ноября 2010

Установите таймер, а затем сделайте его недействительным.

myTimer = [NSTimer scheduledTimerWithTimeInterval:60 target:self selector:@selector(changeLabel) userInfo:nil repeats:YES];

-(void)changeLabel {
    scoreLabel.text = [wordArray objectAtIndex:cntr];
    cntr++;
    if(cntr==100) [myTimer invalidate];
}

В этом примере предполагается, что у вас есть NSMutableArray или NSArray из 100 слов.Если у вас есть растущий массив слов, вы можете использовать [wordArray lastObject], чтобы получить последнюю строку, добавленную в изменяемый массив.

...