2016-03-25 31 views
0

UIButton'u UIBarButtonItem olarak kullanmaya çalışıyorum, burada hemen belirgin olmayan, ancak gerekli olan ekstra esnekliği elde etmek için.Neden bir UIBarButtonItem özel olarak bir UIButton görüntülendiğinde iki kez yanıp sönüyor? Bunu nasıl durduracağım?

Aşağıdaki kod var:

let addButton = UIButton(type: .System) 
addButton.addTarget(self, action: #selector(boop1(_:)), forControlEvents: .TouchUpInside) 
addButton.titleLabel!.numberOfLines = 1 

let paragraphStyle = NSMutableParagraphStyle() 
paragraphStyle.alignment = .Center 

let addAttributedString = NSMutableAttributedString(string: "Add") 
let attributes: [String: AnyObject] = [NSFontAttributeName: UIFont.boldSystemFontOfSize(17.0), NSForegroundColorAttributeName: view.tintColor, NSParagraphStyleAttributeName: paragraphStyle] 
addAttributedString.addAttributes(attributes, range: NSRange(location: 0, length: addAttributedString.length)) 

addButton.setAttributedTitle(addAttributedString, forState: .Normal) 
addButton.sizeToFit() 

let barButtonItem = UIBarButtonItem(customView: addButton) 
barButtonItem.target = self 
barButtonItem.action = #selector(boop2(_:)) 

navigationItem.rightBarButtonItem = barButtonItem 

Ama aşağı bastığınızda, aday sanki yanıp söner ve ardından serbest eğer tekrar yanar. Grafikler çok tuhaf.

Bunu nasıl durdurabilirim?

cevap

0

Bu, UIBarButtonItem için iki farklı seçici eklediğiniz için oluyor.

İlki buradadır:

addButton.addTarget(self, action: #selector(boop1(_:)), forControlEvents: .TouchUpInside) 

İkincisi ise burada:

barButtonItem.action = #selector(boop2(_:)) 

Bunu neden emin değilim, ama herhangi 1 seçiciyi ekleyerek eminim UIBarButtonItem sorunu çözecektir.

+0

Bunu test amacıyla yaptım, flaşları durdurma üzerinde hiçbir etkisi yoktur. –