2012-11-15 11 views
5

Objective C ve x-code için çok yeni. Geçen hafta öğrenmeye başladım. soru çok basitse çok üzgünüm.Amaç C'deki Zaman Aralıkları

Çok basit ve hikaye tahtası tabanlı bir uygulama için görsel bir roman gibi bir oyun yapıyorum, ancak seçeneklerimi görüntülemekle ilgili bir sorum var. Kesim sahnem bittikten sonra seçimlerin görünmesini istiyorum. Zaman aralıklı aralar gibi bir şey ekleyebileceğim herhangi bir yol var mı? Biri bana bu konuda nasıl gideceğiniz konusunda yol gösterebilir.

cevap

1

Sen NSTimer kullanabilirsiniz:

[NSTimer scheduledTimerWithTimeInterval:2.0f 
           target:self 
           selector:@selector(displayChoiceTimerFired:) 
           userInfo:nil 
           repeats:NO]; 

bu 2 saniye sonra displayChoiceTimerFired: yöntemini çalıştırır zamanlayıcı planlar.

(. O yöntemin argüman zamanlayıcı kendisidir) Ya da NSObject 'ın perform yöntem kullanabilirsiniz: Eğer kesme sahneleri görüntülenme şeklinden bağlı

[self performSelector:@selector(displayChoice:) withObject:nil afterDelay:2.0f]; 
+0

ama yine de normal doğru UI oluşturucu nesneleri eklemek ama onlar geç görüntülenecektir sayısını belirten bu yöntemi ... kullanabilirsiniz. Başka bir pencere oluşturursam daha iyi olur mu? –

+0

Zamanlayıcı tetiklendiğinde, yeni UI'yi programsal olarak oluşturun. Veya onları Interface Builder'da gizleyin ve zamanlayıcı 'object.hidden = NO' kullanarak patladığında görünür hale getirin. – DrummerB

+0

çok. Bu gerçekten yardımcı oldu –

1

, daha güvenli yolu, bu gösterilecek UI öğeleri kesme sahneniz bittiğinde bir şekilde bir eylem tetiklemek olacaktır. NSTimer Uygulamasının (I) öngördüğü problem, her ne sebeple olursa olsun, kesme sahnenizin NSTimer aralığınızdan daha uzun sürmesi durumunda, UI Öğeleriniz zamanından önce görüntülenir. Sadece iki sentim farklı, ama daha zarif bir yaklaşım olduğuna inanıyorum.

1
[self performSelector:@selector(displayChoice:) withObject:nil afterDelay:1.0]; 

Sen gecikmeden sonra saniyeler