質問編集履歴

2

修正依頼対応

2020/04/27 04:12

投稿

is_jun
is_jun

スコア5

test CHANGED
File without changes
test CHANGED
@@ -43,3 +43,105 @@
43
43
 
44
44
 
45
45
  よろしくお願いいたします。
46
+
47
+
48
+
49
+ ##【追記:ViewController】
50
+
51
+ UITextFieldに関係あるところだけ抜粋します。
52
+
53
+ calc()の部分はコメントアウトしても今回の現象は発生したので関係ないと思います。
54
+
55
+ ```ここに言語を入力
56
+
57
+ @IBOutlet weak var money: UITextField!
58
+
59
+
60
+
61
+ // 入力桁数制限処理
62
+
63
+ @IBAction func moneyEdintingChanged(_ sender: UITextField) {
64
+
65
+ guard let strInputMoney = sender.text else { return }
66
+
67
+ sender.text = String(strInputMoney.prefix(maxAmountLength))
68
+
69
+ }
70
+
71
+
72
+
73
+ // フォーカスイン処理
74
+
75
+ @IBAction func moneyEditingDidBegin(_ sender: UITextField) {
76
+
77
+ let strInputMoney :String = sender.text ?? ""
78
+
79
+ sender.text = self.exceptComma(strMoney: strInputMoney)
80
+
81
+ }
82
+
83
+
84
+
85
+ // フォーカスアウト処理
86
+
87
+ @IBAction func moneyEditingDidEnd(_ sender: UITextField) {
88
+
89
+ let intInputMoney: Int = Int(sender.text!) ?? 0
90
+
91
+ guard intInputMoney != 0 else { return }
92
+
93
+ sender.text = self.addComma(intMoney: intInputMoney)
94
+
95
+ // 計算処理
96
+
97
+ self.calc()
98
+
99
+ }
100
+
101
+
102
+
103
+ // 3桁区切りのカンマがあれば除外する
104
+
105
+ func exceptComma(strMoney: String) -> String {
106
+
107
+ return strMoney.replacingOccurrences(of: ",", with: "")
108
+
109
+ }
110
+
111
+
112
+
113
+ // 3桁区切りのカンマを付ける
114
+
115
+ func addComma(intMoney: Int) -> String {
116
+
117
+ let formatter = NumberFormatter()
118
+
119
+ formatter.numberStyle = NumberFormatter.Style.decimal
120
+
121
+ formatter.groupingSeparator = ","
122
+
123
+ formatter.groupingSize = 3
124
+
125
+ return formatter.string(from: NSNumber.init(integerLiteral: intMoney))!
126
+
127
+ }
128
+
129
+
130
+
131
+ func calc() {
132
+
133
+ // 色々計算する
134
+
135
+ }
136
+
137
+
138
+
139
+ // キーボードを非表示にする
140
+
141
+ override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
142
+
143
+ self.view.endEditing(true)
144
+
145
+ }
146
+
147
+ ```

1

誤字、タグ追加

2020/04/27 04:12

投稿

is_jun
is_jun

スコア5

test CHANGED
File without changes
test CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
 
14
14
 
15
- しかしなぜか、UITextFiledに値を入力すると、被せたViewの移動した位置がリセット(元の位置になる)されてしまいます。
15
+ しかしなぜか、UITextFieldに値を入力すると、被せたViewの移動した位置がリセット(元の位置になる)されてしまいます。
16
16
 
17
17
 
18
18
 
@@ -34,7 +34,7 @@
34
34
 
35
35
  他のUIButtonをタップしたり、UISegmentedControlをタップするだけならリセットは発生しません。
36
36
 
37
- UITextFiledにフォーカスするだけでも起こらないので、UITextFiledに値が入る時に発生すると思うのですが、なぜそうなるのか、それ以上原因の追究ができませんでした。
37
+ UITextFieldにフォーカスするだけでも起こらないので、UITextFieldに値が入る時に発生すると思うのですが、なぜそうなるのか、それ以上原因の追究ができませんでした。
38
38
 
39
39
 
40
40