@mechanicnikodimich

Почему не обновляется TextLabel на кнопке?

Доброго времени суток.
Пытаюсь "изобрести велосипед" и сделать аналог предикативного набора в custom keyboard. Процесс дошел до того, что в TopBanner клавиатуры я разместил три кнопки, по нажатию на которые печатается текст, отображенный на кнопках.
Но при этом когда нажимаешь на кнопку клавиатуры, нужно чтобы обновлялся текст на кнопке.

Собственно, вот код:

protocol updateBattonsTitels:class {
    func updateButtons(sender: KeyboardKey)
}

class Catboard: KeyboardViewController {
    var delegate: updateBattonsTitels?
    
    override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) {
        NSUserDefaults.standardUserDefaults().registerDefaults([kCatTypeEnabled: true])
        super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
    }

    required init?(coder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
        
    }
    

    
    override func keyPressed(key: Key) {
         let textDocumentProxy = self.textDocumentProxy
        if let keyView = self.layout?.viewForKey(key) {
            switch key.type {
            case Key.KeyType.Character:
                keyView.addTarget(delegate, action: "updateButtons:", forControlEvents:  [.TouchDown, .TouchDragInside, .TouchDragEnter])
            
            default:
                break
            }
        }
}


И вторая часть с кнопками:

extension CatboardBanner: updateBattonsTitels {
    func updateButtons ( sender: KeyboardKey)
    {
        lBatton.setTitle("75%", forState: UIControlState.Normal)
        cBatton.setTitle("90%", forState: UIControlState.Normal)
        rBatton.setTitle("54%", forState: UIControlState.Normal)
        
    
    }
    
}



class CatboardBanner: ExtraView {
    var delegate: insertBattonText?
    var catSwitch: UISwitch = UISwitch()
    var lBatton: UIButton = UIButton()
    var cBatton: UIButton = UIButton()
    var rBatton: UIButton = UIButton()
}


Код в сокращенном содержании, если нужно, могу расширенную, так сказать, версию выложить всего.
Проблема в том заключается, что при нажатии на кнопку
keyView.addTarget(delegate, action: "updateButtons:", forControlEvents:  [.TouchDown, .TouchDragInside, .TouchDragEnter])

вроде и срабатывает, но на кнопках ничего не обновляется.
Как быть?
  • Вопрос задан
  • 172 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы