カスタム @IBDesignable UITextfield クラスを使用すると、ビュー コントローラー (メイン ストーリーボード) ですべてのオブジェクトが消えます。メインストーリーボードは次のようになります。
(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を閉じて開くとうまくいきます。バグのようです。これはうまくいきました。