@IBInspectabale からキーボード選択を作成したかった
これを達成する方法
ImageView と TextField を挿入するビューを作成しています。このカスタム ビュー クラスを @IBDesignable として作成し、@IBInspectable 要素を作成しています。
サイド イメージとプレースホルダー要素を正常に作成しましたが、現在はキーボード タイプを作成しようとしていますが、問題に直面しています。
コードの抜粋: `import UIKit
@IBDesignable class CustomTextField: UIView,UITextFieldDelegate {
//custom view from the XIB file
var view: UIView!
@IBOutlet weak var textField: UITextField!
@IBOutlet weak var imageView: UIImageView!
override init(frame: CGRect) {
super.init(frame: frame)
loadViewFromNib ()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
loadViewFromNib ()
}
func loadViewFromNib() {
let bundle = Bundle(for: type(of: self))
let nib = UINib(nibName: "CustomTextField", bundle: bundle)
let view = nib.instantiate(withOwner: self, options: nil)[0] as! UIView
view.frame = bounds
view.autoresizingMask = [.flexibleWidth, .flexibleHeight]
self.addSubview(view);
}
@IBInspectable var sideImage: UIImage? {
get {
return imageView.image
}
set(sideImage) {
imageView.image = sideImage
}
}
@IBInspectable var placeHolderText: String? {
get {
return textField.placeholder
}
set(placeHolderText) {
textField.placeholder = placeHolderText
}
}'
上記のすべては正常に機能しますが、以下は私にとっては機能しません:
@IBInspectable var keyboard: UIKeyboardType? {
get{
return UIKeyboardType(rawValue: textField.keyboardType.rawValue)
}
set(keyboard){
textField.keyboardType = keyboard!
}
}
}
enum を作成して試してみましたが、結果が得られません。