質問編集履歴
4
コードの修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -3,23 +3,6 @@
|
|
3
3
|
|
4
4
|
class numberView: UIView {
|
5
5
|
|
6
|
-
|
7
|
-
@IBOutlet var myView: UIView!
|
8
|
-
@IBOutlet weak var protein: UILabel!
|
9
|
-
@IBOutlet weak var fat: UILabel!
|
10
|
-
@IBOutlet weak var carbo: UILabel!
|
11
|
-
@IBOutlet weak var total: UILabel!
|
12
|
-
@IBOutlet weak var ptxt: UITextField!
|
13
|
-
@IBOutlet weak var ftxt: UITextField!
|
14
|
-
@IBOutlet weak var ctxt: UITextField!
|
15
|
-
@IBOutlet weak var ktxt: UITextField!
|
16
|
-
|
17
|
-
var delegate:CustomAlertDelegate?
|
18
|
-
|
19
|
-
override func didMoveToSuperview() {
|
20
|
-
ptxt.becomeFirstResponder()
|
21
|
-
}
|
22
|
-
|
23
6
|
@objc func proteinX(_ sender: UITextField) {
|
24
7
|
if let text = sender.text {
|
25
8
|
protein.text = "P: " + ptxt.text!
|
@@ -196,15 +179,10 @@
|
|
196
179
|
|
197
180
|
### 実現したい事
|
198
181
|
~~0. 小数点以下の入力をしたい~~
|
199
|
-
0. 選択したtextfieldsのみ入力が反映できるようにしたい。
|
200
182
|
|
201
183
|
### 出来ている事/困っている事
|
202
184
|
~~~~0. に関してはボタンをタップすると数字が表示されるまで出来た。しかし、20.5のような小数点付きの値を入力しようと小数点を打とうとしても表示されない。~~
|
203
185
|
|
204
|
-
0. に関しては各種ボタンに条件分岐をしていないため1を押すと4つある全てのtextfieldsに表示されてしまう。そのため、case文で条件分岐しようとしたが出来ませんでした。
|
205
|
-
|
206
|
-
]
|
207
|
-
|
208
186
|
### 改善点
|
209
187
|
以下のようにすることで小数点以下の値まで入力出来るようになりました。
|
210
188
|
しかし、クリアボタンをタップした時に数字は消えるのですが小数点だけ残ってしまいます。
|
3
コードの改善
title
CHANGED
File without changes
|
body
CHANGED
@@ -197,16 +197,11 @@
|
|
197
197
|
### 実現したい事
|
198
198
|
~~0. 小数点以下の入力をしたい~~
|
199
199
|
0. 選択したtextfieldsのみ入力が反映できるようにしたい。
|
200
|
-
0. totalラベルにてpfcが入力された時点で自動的に計算され totalラベルに表示させたい。
|
201
|
-
0. アラート内に数字のテンキーが用意されているのでtextfielsをタップしてもキーボードを呼び出されないようにしたい。
|
202
200
|
|
203
201
|
### 出来ている事/困っている事
|
204
|
-
~~0. に関してはボタンをタップすると数字が表示されるまで出来た。しかし、20.5のような小数点付きの値を入力しようと小数点を打とうとしても表示されない。~~
|
202
|
+
~~~~0. に関してはボタンをタップすると数字が表示されるまで出来た。しかし、20.5のような小数点付きの値を入力しようと小数点を打とうとしても表示されない。~~
|
205
|
-
|
203
|
+
|
206
204
|
0. に関しては各種ボタンに条件分岐をしていないため1を押すと4つある全てのtextfieldsに表示されてしまう。そのため、case文で条件分岐しようとしたが出来ませんでした。
|
207
|
-
0. に関しては単純にどのようにコーディングをすればいいか分からないです。
|
208
|
-
数式としては total = p * 4 + c * 9 + c * 4にすれば意図した表示結果になります。
|
209
|
-
0. に関しても、自作のテンキーでの入力は実現できたがキーボードを表示させない方法が分からなくて困っています。
|
210
205
|
|
211
206
|
]
|
212
207
|
|
@@ -245,6 +240,9 @@
|
|
245
240
|
@IBAction func one(_ sender: Any) {
|
246
241
|
|
247
242
|
addnumber(number: "1")
|
243
|
+
addnumber2(number2: "1")
|
244
|
+
addnumber3(number3: "1")
|
245
|
+
addnumber4(number4: "1")
|
248
246
|
|
249
247
|
}
|
250
248
|
|
2
コーディングの改善
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
```swift
|
2
2
|
import UIKit
|
3
3
|
|
4
|
-
class
|
4
|
+
class numberView: UIView {
|
5
5
|
|
6
6
|
|
7
7
|
@IBOutlet var myView: UIView!
|
1
コードの改善点
title
CHANGED
File without changes
|
body
CHANGED
@@ -116,7 +116,7 @@
|
|
116
116
|
}
|
117
117
|
|
118
118
|
|
119
|
-
|
119
|
+
@IBAction func one(_ sender: Any) {
|
120
120
|
|
121
121
|
let value = ptxt.text! + "1"
|
122
122
|
if let price = Int(value) {
|
@@ -140,30 +140,8 @@
|
|
140
140
|
}
|
141
141
|
}
|
142
142
|
|
143
|
-
@IBAction func two(_ sender: Any) {
|
144
|
-
let value = ptxt.text! + "2"
|
145
|
-
if let price = Int(value) {
|
146
|
-
ptxt.text = "(price)"
|
147
|
-
protein.text = "P: " + ptxt.text!
|
148
|
-
}
|
149
|
-
let value2 = ftxt.text! + "2"
|
150
|
-
if let price = Int(value2) {
|
151
|
-
ftxt.text = "(price)"
|
152
|
-
fat.text = "F: " + ftxt.text!
|
153
|
-
}
|
154
|
-
let value3 = ctxt.text! + "2"
|
155
|
-
if let price = Int(value3) {
|
156
|
-
ctxt.text = "(price)"
|
157
|
-
carbo.text = "C: " + ctxt.text!
|
158
|
-
}
|
159
|
-
let value4 = ktxt.text! + "2"
|
160
|
-
if let price = Int(value4) {
|
161
|
-
ktxt.text = "(price)"
|
162
|
-
total.text = "K: " + ktxt.text! + " kcal"
|
163
|
-
}
|
164
|
-
}
|
165
143
|
|
166
|
-
//
|
144
|
+
//2~9は字数制限の問題上、省略しています。
|
167
145
|
}
|
168
146
|
|
169
147
|
@IBAction func zero(_ sender: Any) {
|
@@ -217,17 +195,78 @@
|
|
217
195
|
```
|
218
196
|
|
219
197
|
### 実現したい事
|
220
|
-
0. 小数点以下の入力をしたい
|
198
|
+
~~0. 小数点以下の入力をしたい~~
|
221
199
|
0. 選択したtextfieldsのみ入力が反映できるようにしたい。
|
222
200
|
0. totalラベルにてpfcが入力された時点で自動的に計算され totalラベルに表示させたい。
|
223
201
|
0. アラート内に数字のテンキーが用意されているのでtextfielsをタップしてもキーボードを呼び出されないようにしたい。
|
224
202
|
|
225
203
|
### 出来ている事/困っている事
|
226
|
-
0. に関してはボタンをタップすると数字が表示されるまで出来た。しかし、20.5のような小数点付きの値を入力しようと小数点を打とうとしても表示されない。
|
204
|
+
~~0. に関してはボタンをタップすると数字が表示されるまで出来た。しかし、20.5のような小数点付きの値を入力しようと小数点を打とうとしても表示されない。~~
|
227
205
|
原因を考えた結果、Int型のため小数点までの値は入力出来ないのと分かったのでdouble型にしてみたが意図してる事が実現出来なかった。
|
228
206
|
0. に関しては各種ボタンに条件分岐をしていないため1を押すと4つある全てのtextfieldsに表示されてしまう。そのため、case文で条件分岐しようとしたが出来ませんでした。
|
229
207
|
0. に関しては単純にどのようにコーディングをすればいいか分からないです。
|
230
208
|
数式としては total = p * 4 + c * 9 + c * 4にすれば意図した表示結果になります。
|
231
209
|
0. に関しても、自作のテンキーでの入力は実現できたがキーボードを表示させない方法が分からなくて困っています。
|
232
210
|
|
233
|
-
]
|
211
|
+
]
|
212
|
+
|
213
|
+
### 改善点
|
214
|
+
以下のようにすることで小数点以下の値まで入力出来るようになりました。
|
215
|
+
しかし、クリアボタンをタップした時に数字は消えるのですが小数点だけ残ってしまいます。
|
216
|
+
```swift
|
217
|
+
func addnumber(number: String) {
|
218
|
+
var textnumber = ptxt.text!
|
219
|
+
textnumber = textnumber + number
|
220
|
+
ptxt.text = textnumber
|
221
|
+
protein.text = "P: " + textnumber
|
222
|
+
}
|
223
|
+
|
224
|
+
func addnumber2(number2: String) {
|
225
|
+
var textnumber2 = ftxt.text!
|
226
|
+
textnumber2 = textnumber2 + number2
|
227
|
+
ftxt.text = textnumber2
|
228
|
+
fat.text = "F: " + textnumber2
|
229
|
+
}
|
230
|
+
|
231
|
+
func addnumber3(number3: String) {
|
232
|
+
var textnumber3 = ctxt.text!
|
233
|
+
textnumber3 = textnumber3 + number3
|
234
|
+
ctxt.text = textnumber3
|
235
|
+
carbo.text = "C" + textnumber3
|
236
|
+
}
|
237
|
+
func addnumber4(number4: String) {
|
238
|
+
var textnumber4 = ktxt.text!
|
239
|
+
textnumber4 = textnumber4 + number4
|
240
|
+
ktxt.text = textnumber4
|
241
|
+
total.text = textnumber4 + "kcal"
|
242
|
+
}
|
243
|
+
|
244
|
+
|
245
|
+
@IBAction func one(_ sender: Any) {
|
246
|
+
|
247
|
+
addnumber(number: "1")
|
248
|
+
|
249
|
+
}
|
250
|
+
|
251
|
+
@IBAction func two(_ sender: Any) {
|
252
|
+
addnumber(number: "2")
|
253
|
+
|
254
|
+
}
|
255
|
+
//~~省略~~
|
256
|
+
|
257
|
+
@IBAction func zero(_ sender: Any) {
|
258
|
+
addnumber(number: "0")
|
259
|
+
|
260
|
+
}
|
261
|
+
|
262
|
+
@IBAction func point(_ sender: Any) {
|
263
|
+
|
264
|
+
addnumber(number: ".")
|
265
|
+
|
266
|
+
}
|
267
|
+
|
268
|
+
@IBAction func clear(_ sender: Any) {
|
269
|
+
ptxt.text! = ""
|
270
|
+
}
|
271
|
+
}
|
272
|
+
```
|