2016-03-25 2 views
0

Я пытаюсь использовать UIButton как UIBarButtonItem, чтобы получить дополнительную гибкость, которая здесь не сразу очевидна, но необходима.Почему UIBarButtonItem с customView, когда UIButton мигает дважды при нажатии? Как это остановить?

У меня есть следующий код:

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 

Но при нажатии вниз, он начинает мигать, как будто прослушиваются, а затем, если вы отпустите его вспыхивает снова. Графика очень своеобразна.

Как это остановить?

ответ

0

Это происходит потому, что вы подключили два разных селектора для этого UIBarButtonItem.

Первый один здесь:

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

Второй один здесь:

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

Я не уверен, почему вы сделали это, но я уверен, что добавление любого 1 селектор в UIBarButtonItem устранит проблему.

+0

Я просто сделал это для тестирования, это не влияет на остановку вспышек. –

 Смежные вопросы

  • Нет связанных вопросов^_^