2015-11-16 19 views
5

'deki belirli bir alanda bazı gecikmelere neden oluyor? Özel bir klavye yapıyorum ve gerçekten garip bir durumdayım.iOS: Neden touchesBegan, UIView

Olayı yakaladığımda, UIView'nin (inputView) arka solundaki (yaklaşık 20 piksel) Began'a değindiğimde, biraz gecikme yaşayacağımı fark ettim. Dokunarak yaptığım her hareket, diğer alandan daha yavaş performans gösterecektir.

override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) 
{ 
self.keypop.hidden = false 
} 

override func touchesEnded(touches: Set<UITouch>, withEvent event: UIEvent?) { 
{ 
self.keypop.hidden = true 
} 

Ve bu sorun, uygulamanızın performansını etkiliyor. Bu örnekte, self.keypop.hidden gösterilmesinin gecikmesi nedeniyle arka solda dokunduğumda tuş sesini göremiyorum.

Nedenini bilmiyorum, ya da bu iOS 9'dan gelen bir hatadır? Bir hafta boyunca bu belaya bulaştım.

cevap

3
burada cevap bizim klavyede aynı sorunu sabit gibi görünüyor

: Aşağıdaki kod ile

UISystemGateGestureRecognizer and delayed taps near bottom of screen

: Benim durumda

override func viewDidAppear(animated: Bool) { 
    let window = view.window! 
    let gr0 = window.gestureRecognizers![0] as UIGestureRecognizer 
    let gr1 = window.gestureRecognizers![1] as UIGestureRecognizer 
    gr0.delaysTouchesBegan = false 
    gr1.delaysTouchesBegan = false 
} 
+0

çalışmıyor –

+0

Bu benim hayatımı kurtardı! Bir süredir şu anda ekranın üstünde ve altında bir şeyler yapmam gereken bir SpriteKit uygulamasıyla bir süredir bu sorunu yaşıyordum, ama her zaman garip davranışlar vardı. – CodyMace

1

Bir CollectionView içinde touchBegan kullanıyordum ve 'a dokunduğumda rötuş yapıyordu. Benimle bu kodu ekledim.

swi ft 3

self.view.delaysContentTouches = false 
İlgili konular