2015-06-22 14 views
7

Bir düğmem var ve bir UIGestureRecognizer verdim, böylece bir IBAction yalnızca düğme uzun basıldığında çalışır. Düğmeye kendinize bir UILongPressGestureRecognizer ekleyerek bunu yaparsınız. Ben başlık Geçerli başlık düğmeler göstermek istiyorum,UITapGestureRecognizer gönderici, ui nesnesinin değil, jesttir

@IBAction func handleGesture(sender: UIGestureRecognizer) { 
    if sender.state == UIGestureRecognizerState.Began 
    { 
     let labelTap1=UITapGestureRecognizer(target: self, action: "labelTapped:") 
     let alertController = UIAlertController(title: "**I want this to be the title of the button**", message: 
      "This is the description of the function you pressed", preferredStyle: UIAlertControllerStyle.Alert) 
     alertController.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.Default,handler: nil)) 

     self.presentViewController(alertController, animated: true, completion: nil) 
    } 
} 

Eğer UIAlertController görünür görebileceğiniz gibi: Sonra böyle bir işleve o jest tanıyıcı sürüklemek kontrol eder. Bu işlevin göndereni düğmeyse, bunu sender.currentTitle ile çağırabilirim. Fonksiyonun göndereni jest olduğunda, jeste bağlı olan düğmenin başlığını nasıl alabilirim.

Amaçları C nesnesinde görmekteyim ama Swift'de hiçbir şey yok. Bu, düğmenin kendisini uzun süre bastığınızda bir düğmenin açıklaması için bir projedir. Şimdiye kadar yaptığım ya da farklı bir yöntemle bunu nasıl başaracağımız konusunda herhangi bir fikri varsa, lütfen bana söyleyin.

Teşekkürler!

cevap

14

Görüntünün görünüm özelliği aracılığıyla eklendiği görünüm için başvuru alabilirsiniz. Bu durumda butona eklediğinizde, görünüm özelliği size bu düğmeyi döndürür.

let button = sender.view as? UIButton 
+0

Bu çok anlam ifade ediyor. Ön uç web arka planından gelen hızlı ve iOS için yeniyim. Yardım için teşekkürler! – modesitt

+0

Evet, aslında seninle konuşurken şey jest tanıyıcı; eylemi gösteren ajan. O zaman hangi görüntüyü izlediğini sormalısınız. Bu herhangi bir yardımcı olup olmadığından emin değil. – Tommy

İlgili konular