2016-03-19 11 views
0

Uzun süreli bir hareketi algılamak için diğer bazı UI bileşenlerinin üstünde bir UIView var. Uzun bir baslama başladığında, arka plan rengini gri & alpha = 0.1 değiştirerek kullanıcıyı uyarmak istiyorum.Şeffaf hale geldikten sonra UIView'deki hareket nasıl algılanır?

Uzun basış bittikten sonra, UIView tamamen şeffaf olarak değiştirilmelidir. Ben alfa 0'a ayarlıyorum ama sorun şu ki ...

başka bir konuk belirlenemedi.

mainView = UIView() 
mainView.frame = ... 
let longPressRecognizer = UILongPressGestureRecognizer(target: self, action:Selector("longPressed:")) 
mainView.addGestureRecognizer(longPressRecognizer) 

func longPressed(sender: UILongPressGestureRecognizer) { 
    let view = sender.view! 

    if sender.state == .Began { 
     view.backgroundColor = UIColor.grayColor() 
     view.alpha = 0.1 
    } else if (sender.state == .Ended || sender.state == .Cancelled || sender.state == .Failed) { 
     view.backgroundColor = UIColor.whiteColor() 
     view.alpha = 0 
    } 
} 

başlangıçta oluşturulduktan gibi başka hareketler tespit edilebilmesi için özgün durumuna geri değişti bu UIView yapmak için doğru yolu nedir?

cevap

5

Bir UIView ürününün alpha özelliğini 0 olarak ayarlamak dokunmalarını almayı durduracaktır. Bunun yerine, görünmez olmasını istediğinizde arka planını UIColor.clearColor() olarak ayarlayın.

İlgili konular