最新のXcode 8.2 BetaとSwiftを使用しています。3. DatePickerのいくつかのSwiftサンプルをテキストボックスを使用して表示し、動作させました。私の問題は、キーボードが日付入力テキストボックスをタップすると最初に表示されることです。テキストフィールドに何かを置き、他のフィールドでもう少しリターンすれば、DatePickerはそのように動作します(そのフィールドをタップするとDatePickerが表示され、日付を入力できます)。 Dateフィールドをタップすると、DatePickerだけが表示されます。私の送信イベントは「終了時に終了しました」です。私はキーボードをノックすることができるかどうかを確認するために多くのresigFirstResponderを入れてください。しかし、それらはあまり影響を及ぼさないようです。 TextBoxを現在の日付で初期化しますが、初期化なしで同じ動作をすることは間違いありません。私は2つのテキストフィールド/ DatePickersを持っています。あなたは、テキストフィールドがラインsender.inputView = datePicker
でアクティブにしたときに表示する日付ピッカーの原因は何キーボードに日付ピッカーが表示されます
func datePickerChangedSell(sender: UIDatePicker) {
resignFirstResponder()
let formatter = DateFormatter()
formatter.dateStyle = .medium
sellDateDisp.text = formatter.string(from: sender.date)
resignFirstResponder()
}
@IBAction func sellDateAction(_ sender: UITextField) {
let datePicker:UIDatePicker = UIDatePicker()
datePicker.datePickerMode = UIDatePickerMode.date
sender.inputView = datePicker
resignFirstResponder()
datePicker.addTarget(self, action: #selector(datePickerChangedSell(sender:)), for: .valueChanged)
resignFirstResponder()
}
ありがとうございました。 sender.InputViewをviewDidLoadまで移動しようとしましたが、送信者についての未解決の参照がありました。 viewDidLoadの括弧の中に "_ sender:UITextField"を追加しようとしましたが、それはスーパークラスのメソッドからのオーバーライドについて何か言いました。あなたの提案をより良く理解しようとします。 – flashgordon
テキストビューを管理するビューコントローラで、テキストビューのコンセントを作成する必要があります。ストーリーボードを開き、アクセサリエディタでView Controllerのソースファイルを開きます。 Ctrlキーを押しながらテキストビューからソースファイルにドラッグし、テキストビューに名前を付けます。次に、テキストビューの 'inputView'を設定する呼び出しでその名前を参照してください –
Duncan、ありがとう、私はそれを試してみましょう。私は最初に別のビルドで試してみると思います。私はここに多くのオブジェクトを持っています。あなたが1つを作成しても機能しない場合、取り消すことは困難です。それを正しく取得し、私の製品ビルドに実装してください。 – flashgordon