カスタムUIView
コンポーネントはUITextField
,UIImageView
、もう1つはUIView
です。カスタムコンポーネントからUITextFieldをタップしたときにUIDatePickerを開く
UITextField
の動作を変更して、タップしたときにUIDatePicker
と表示する必要があります。これは私が実行しようとしているコードですが、何らかの理由で日付ピッカーは、それがタップだ時に開きません。
class TextFieldWithFeedback : UIView {
@IBOutlet weak var textField: UITextField!
@IBOutlet weak var imageView: UIImageView!
@IBOutlet weak var underlineView: UIView!
override func draw(_ rect: CGRect) {
let datePicker = UIDatePicker()
datePicker.datePickerMode = .date
self.textField.inputView = datePicker
}
}
override func viewDidLoad() {
super.viewDidLoad()
let datePicker = UIDatePicker()
datePicker.datePickerMode = .date
customView.textField.inputView = datePicker
}
このソリューションは機能しますが、私はそれらのカスタムビューのうち8つがあり、8回ではなく1回設定するほうが理想的ではありません。
datePickerを設定するために使用するViewクラスのメソッドはどれですか?描画が機能しないためです。
また、ユーザーが日付を選択したときにUITextField
の値を変更する機能を追加するにはどうすればよいですか?あなたが何をする必要があるか
についてコメントして人よりも役に立つことを約束コメント気軽に役立ちますpicker –
ビューコントローラ –
@LeoDabusのプロパティとして宣言するだけで、ViewControllerでDatePickerをインスタンス化し、各customViewで設定しますか? drawメソッドで使用する場合 – leofontes