2012-04-19 20 views

cevap

125

Simülatördeki ile aynı şekilde mümkün değildir, ancak lldb'yi kullanarak aynı efekti gerçekleştirmenin iyi bir yolu vardır.

kod yürütmeye ara vermek ayıklayıcısını kullanın ve sonra komutu girin: ayıklayıcıya

p [(CALayer *)[[[[UIApplication sharedApplication] windows] objectAtIndex:0] layer] setSpeed:.1f] 

.

Çözüm için this link'a teşekkürler.

+13

Bu 'basitleştirilmiş edilebilir dikkati çekiyor [self.window.layer setspeed: .1f]; uygulamasını temsilci en' -appli içinde zamanında kullanılırsa ' katyon: didFinishLaunching…: 'yöntem. (Uygulamanın temsilci şablonunun varsayılan olarak size verdiği pencereyi kullandığınızı varsayarsak, elbette.) –

+2

Harika cevap, bu Simülatörden daha da iyisi, aynı zamanda çok fazla animasyon çalışması yaptım. 0.1F hala benim için çok hızlı, bu yüzden 0,02F'ye ayarlıyorum. Ve şimdi hatanın nerede olduğunu görebiliyorum. : D: D: D THANX A LOOOOOOT – MQoder

+1

Bu sadece lldb'de 'expr - [(UIApplication *) UIApp keyWindow] .layer.speed = 0.1f' –

13

için Swift Uygulamalar: Alternatif

(lldb)p UIApplication.sharedApplication().windows.first?.layer.speed = 0.1


belli ki aynı zamanda hızını değiştirebilirsiniz:

bir breakpoint'de Dur kodunuzu ve aşağıdaki komutu girin lldb kodunda bir yerde. "- Özel Flags Swift derleyicisi" bölümünde, "Diğer Swift Bayraklar" satırı uygulaması açılışında bir #if önişlemci makro ile Örneğin

func application(application: UIApplication, 
    didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool 
{ 
    ... 

    #if DEBUG 
     application.windows.first?.layer.speed = 0.1 
    #endif 

yılında DEBUG sembolü ayarlamak unutmayın. DEBUG sembolünü -DDEBUG girişiyle eklersiniz.

9
Swift 3'te

:

UIApplication.shared.windows.first?.layer.speed = 0.1 

Ya da AppDelegate her yerde ve sen yalnızca bir pencere kullanıyorsanız, bunu yapabilirsiniz:

Amaç-c
window?.layer.speed = 0.1 
0

oldukça çalışır iyi

self.window.layer.speed = .1f; 
İlgili konular