2013-03-06 2 views
2

Я не понимаю, где я кладу яйцо. Мне нужно обновить прогресс progreesView. Я создаю UIProgressView в IB и меняю только цвет. У меня есть свойство и следующий кодUIProgressView не показывает прогресс

@property (weak, nonatomic) IBOutlet UIProgressView *progressView; 

свойства подключения к розетке в IB

- (void)viewDidLoad 
{ 
[super viewDidLoad]; 
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"DefaultSS.png"]]; 
} 


- (void) viewDidAppear:(BOOL)animated 
{ 
    [self connectToServer]; 
} 


- (void) connectToServer 
{ 
    //some code... 
    sleep(2); 
[self.progressView setProgress:0.2 animated:YES]; 
sleep(1); 
[self.progressView setProgress:0.4 animated:YES]; 
sleep(1); 
[self.progressView setProgress:0.7 animated:YES]; 
sleep(1); 
[self.progressView setProgress:1.0 animated:YES]; 
sleep(1); 
//some code... 
} 

сна работают хорошо, но прогресс UIProgressView не изменяются со временем. Где я ошибся?

ответ

4

sleep() блокирует основной поток, поэтому обновления пользовательского интерфейса не будут. Вам нужно использовать NSTimer или что-то подобное.

+0

ohhhh ... Я так noooob = (thanks =) – Neznajka

+0

... или он может использовать '[NSThread sleepForTimeInterval: 1.f];' который также работает и в основном потоке. – holex

Смежные вопросы