Все объекты исчезают в контроллере представления (основной раскадровке), когда я использую пользовательский класс @IBDesignable UITextfield.(Xcode 10, Swift 4.2) - PullRequest
0 голосов
/ 24 сентября 2018

Все объекты исчезают в контроллере представления (основной раскадровке), когда я использую пользовательский класс @IBDesignable UITextfield.Основная раскадровка выглядит следующим образом:

enter image description here

(Xcode 10, Swift 4.2)
Как видите, она также показывает ошибку.Но Xcode показывает «Build Succeeded», когда я запускаю приложение.

Я использую собственный класс @IBDesignable UITextfield, как показано ниже:

import UIKit
import AKMaskField

@IBDesignable

class MyTextFieldStyle: AKMaskField {

@IBInspectable var secureEntry : Bool = false

@IBInspectable var myBorderColor : UIColor = UIColor.white {
    didSet {
        self.layer.borderColor = myBorderColor.cgColor
    }
}

@objc func secureButtonPressed (sender: UIButton) {
    self.secureEntry = !self.secureEntry
    self.isSecureTextEntry = self.secureEntry
}

override func awakeFromNib() {
    super.awakeFromNib() 

    if self.secureEntry {

        let btn = UIButton(type: .custom)
        btn.setImage(#imageLiteral(resourceName: "eye-17-glyph-16"), for: .normal)
        btn.addTarget(self, action: #selector(self.secureButtonPressed(sender:)), for: .touchUpInside)
        btn.sizeToFit()

        btn.frame = CGRect(x: self.frame.size.width-(btn.frame.size.width+5), y: (self.frame.size.height-btn.frame.size.height)/2, width: btn.frame.size.width, height: btn.frame.size.height)

        self.addSubview(btn)
    }

    self.layer.borderColor = self.myBorderColor.cgColor
}
}

Становится нормально, когда я закрываю и открываю Xcode.Это похоже на ошибку.Это работало нормально.

...