7

yapılan sonrasına kadar gösterilmiyor. UIActivityIndicatorView yükleme bir IBAction bağlı, Şu anda ViewController için gidilen bir düğme var

IBAction ben o zaman bazı resimler yüklemek, [self.view addSubview] ile her zamanki gibi bir UIActivityIndicatorView oluşturmak.

Ben gösterge görüntüsü, görünümü denetleyicisi ve pencere setNeedsDisplay denedim, ama yine de tabii bana oldukça faydasız göstergesi, görüntülemeden önce fotoğraflarını yükler.

Bu yüzden ya anlık bir yeniden çizmeyi zorlamak için bir yol arıyorum (bunun hakkında biraz daha fazla düşünürsem, işin yapılması ihtimal dışı olduğunu düşündüğümde) ya da göstergeden sonra resim yüklemek için bir yol ya da göstergeyi başlatmak/göstermek için ayrı bir iş parçacığı veya benzer bir yöntem başlatmanın ya da göstergeyi ayrı bir denetleyiciye koyma ve bir şekilde resim yüklemesine gitmeden önce kendini gösterme/gösterme zorlaması.

Öneriler? Ben bu durumda ne ne

cevap

18

şeyler arka planda yüklenirken kullanıcı arayüzü etkileşimini işlemek için ana iş parçacığı boşaltır yeni bir iş parçacığı, yumurtlamaya edilir.

İlk önce UIActivityIndicatorView'u gösterin, ardından görüntüleri yükleyen yeni bir iş parçacığı oluşturun, ardından yeni iş parçacığında yürütülen yöntemin son satırında UIActivityIndicatorView'u gizleyin. senin loadImages yöntemde

//do stuff... 
[activityIndicatorView startAnimating]; 
[NSThread detachNewThreadSelector:@selector(loadImages) toTarget:self withObject:nil]; 

:

- (void) loadImages { 
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 
    //load images... 
    [activityIndicatorView performSelectorOnMainThread:@selector(stopAnimating)]; 
    [pool drain]; 
} 
+0

, teşekkür ederim harika çalıştı

İşte bir örnek! Ve böyle bir kerelik için basit ve yararlı. Çok sayıda yükleme ve iplik ile daha ağır bir uygulamada kullanıldığında nasıl düşünüleceğine dair ipuçları var mı? –

+1

+1 bir konu oluşturun! Güzel cevap. – jv42

+1

Keşke bunu milyonlarca kez yapabilirim. i accessorybuttontapped üzerinde activityindicator eklemek gerektiğinde – Mason

İlgili konular