質問編集履歴
2
shuusei
title
CHANGED
File without changes
|
body
CHANGED
@@ -11,9 +11,9 @@
|
|
11
11
|
|
12
12
|
教えていただきたいこと
|
13
13
|
①同じビュー内に違う値を持つPickerViewを2つ表示する方法
|
14
|
-
②曜日を日本語で表示する方法 (Mon)ではなく(月)で
|
15
14
|
|
16
15
|
|
16
|
+
|
17
17
|
```swift
|
18
18
|
import UIKit
|
19
19
|
class testViewController: UIViewController, UITextFieldDelegate{
|
1
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -73,4 +73,77 @@
|
|
73
73
|
}
|
74
74
|
}
|
75
75
|
|
76
|
+
```
|
77
|
+
|
78
|
+
追記です。
|
79
|
+
```swift
|
80
|
+
|
81
|
+
|
82
|
+
import UIKit
|
83
|
+
class testViewController: UIViewController, UITextFieldDelegate{
|
84
|
+
|
85
|
+
var toolBar:UIToolbar!
|
86
|
+
|
87
|
+
|
88
|
+
@IBOutlet weak var wakeTimeTextField: UITextField!
|
89
|
+
|
90
|
+
@IBOutlet weak var textfield2: UITextField!
|
91
|
+
override func viewDidLoad() {
|
92
|
+
super.viewDidLoad()
|
93
|
+
|
94
|
+
wakeTimeTextField.tag = 1
|
95
|
+
wakeTimeTextField.delegate = self
|
96
|
+
setupToolbar()
|
97
|
+
|
98
|
+
textfield2.tag = 2
|
99
|
+
textfield2.delegate = self
|
100
|
+
}
|
101
|
+
func setupToolbar() {
|
102
|
+
//datepicker上のtoolbarのdoneボタン
|
103
|
+
toolBar = UIToolbar()
|
104
|
+
toolBar.sizeToFit()
|
105
|
+
let toolBarBtn = UIBarButtonItem(title: "DONE", style: .plain, target: self, action: #selector(doneBtn))
|
106
|
+
toolBar.items = [toolBarBtn]
|
107
|
+
wakeTimeTextField.inputAccessoryView = toolBar
|
108
|
+
}
|
109
|
+
|
110
|
+
func textFieldDidBeginEditing(_ textField: UITextField) {
|
111
|
+
if wakeTimeTextField.tag == 1{
|
112
|
+
let datePickerView:UIDatePicker = UIDatePicker()
|
113
|
+
|
114
|
+
datePickerView.tag = 1//追加
|
115
|
+
|
116
|
+
datePickerView.datePickerMode = UIDatePicker.Mode.date
|
117
|
+
textField.inputView = datePickerView
|
118
|
+
datePickerView.addTarget(self, action: #selector(datePickerValueChanged(sender:)), for: UIControl.Event.valueChanged)}else{
|
119
|
+
let datePickerView:UIDatePicker = UIDatePicker()
|
120
|
+
|
121
|
+
datePickerView.tag = 2//追加
|
122
|
+
|
123
|
+
|
124
|
+
datePickerView.datePickerMode = UIDatePicker.Mode.time
|
125
|
+
textField.inputView = datePickerView
|
126
|
+
datePickerView.addTarget(self, action: #selector(datePickerValueChanged(sender:)), for: UIControl.Event.valueChanged)}
|
127
|
+
}
|
128
|
+
|
129
|
+
//datepickerが選択されたらtextfieldに表示
|
130
|
+
@objc func datePickerValueChanged(sender:UIDatePicker) {
|
131
|
+
|
132
|
+
if sender.tag == 1{//変更
|
133
|
+
|
134
|
+
let dateFormatter = DateFormatter()
|
135
|
+
dateFormatter.dateFormat = DateFormatter.dateFormat(fromTemplate: "yMMMdE", options: 0, locale: Locale(identifier: "ja_JP"))
|
136
|
+
wakeTimeTextField.text = dateFormatter.string(from: sender.date)}else
|
137
|
+
{
|
138
|
+
let dateFormatter = DateFormatter()
|
139
|
+
dateFormatter.dateFormat = DateFormatter.dateFormat(fromTemplate: "H:mm", options: 0, locale: Locale(identifier: "ja_JP"))
|
140
|
+
textfield2.text = dateFormatter.string(from: sender.date)}
|
141
|
+
}
|
142
|
+
|
143
|
+
//toolbarのdoneボタン
|
144
|
+
@objc func doneBtn(){
|
145
|
+
wakeTimeTextField.resignFirstResponder()
|
146
|
+
}
|
147
|
+
}
|
148
|
+
|
76
149
|
```
|