Swift - замораживание, когда UITextField является IBDesignable с UIColor.init И isSecureText - PullRequest
0 голосов
/ 01 апреля 2019

У меня есть UITextField, чей класс myCustomTextField.Когда myCustomTextField устанавливает textColor текстового поля с UIColor.init и устанавливает isSecureText на true, приложение зависает после того, как я набираю некоторый текст в UITextField и затем щелкаю текстовое поле.

Приложение не вылетает и ошибки нет - приложение просто зависает, и единственный способ выйти - это убить приложение.

Если я только установлю textColor или только установлю isSecureText на true, приложение не зависнет.

myCustomTextField:

@IBDesignable class myCustomTextField: UITextField {

    override func layoutSubviews() {
        super.layoutSubviews()
        updateSomeStuff()
    }

    @IBInspectable var Style : Int = 0 {
        didSet {
            updateSomeStuff()
        }
    }

    // set textColor and isSecureTextEntry
    func updateSomeStuff() {
        if Style == 0 {
            textColor = UIColor.init(red: 122/255, green: 53/255, blue: 74/255, alpha: 1)
            //  self.textColor = UIColor.init(red: 122/255, green: 53/255, blue: 74/255, alpha: 1) // alternative attempt
            isSecureTextEntry = true
            //  self.isSecureTextEntry = true  // alternative attempt
        }
    }
}

Приложение не зависает при установке цвета текста без вызова init, но я не уверен, как решить проблемутак как мне нужно установить конкретный цвет текста.

Изменено:

textColor = UIColor.init(red: 122/255, green: 53/255, blue: 74/255, alpha: 1)

Кому:

textColor = UIColor.red

У кого-нибудь есть идеи относительно того, зачем устанавливать textColor с помощью UIColor.init и устанавливать *От 1035 * до true приводит к зависанию приложения после ввода и последующего нажатия за пределами UITextField?

...