質問編集履歴
2
先の実装したコードに誤りがあり修正するため。
test
CHANGED
File without changes
|
test
CHANGED
@@ -170,7 +170,7 @@
|
|
170
170
|
|
171
171
|
|
172
172
|
|
173
|
-
|
173
|
+
//第1画面上段に記載する解説文章英語、日本語120個をLocalizedStringKeyで整列させるためのArray定義
|
174
174
|
|
175
175
|
let array:[LocalizedStringKey] = [
|
176
176
|
|
@@ -182,7 +182,9 @@
|
|
182
182
|
|
183
183
|
|
184
184
|
|
185
|
-
//秒針が5秒進むごとにArrayのidを上げて指定する順番を定義する
|
185
|
+
//秒針が5秒進むごとにArrayのidを上げて指定する順番を定義する
|
186
|
+
|
187
|
+
|
186
188
|
|
187
189
|
func getTextId() -> Int {
|
188
190
|
|
@@ -190,14 +192,16 @@
|
|
190
192
|
|
191
193
|
let elapsed = self.stopWatchManager.secondsElapsed/5
|
192
194
|
|
195
|
+
//その計算結果をIntにする
|
196
|
+
|
197
|
+
let elapsedInt = Int(elapsed)
|
198
|
+
|
193
|
-
//その
|
199
|
+
//その結果を120で割った残りを算出し、121回目以降Arrayが元にもどるようにする
|
194
|
-
|
200
|
+
|
195
|
-
let
|
201
|
+
let index = elapsedInt % 120
|
196
202
|
|
197
203
|
//表示の時にArrayの順番を示す
|
198
204
|
|
199
|
-
let index = Int(reminder)
|
200
|
-
|
201
205
|
return index
|
202
206
|
|
203
207
|
}
|
1
TakeOneさんのアンサーにもとづきコードを実装して、成功裏にテキストを表示できましたので、そのコードを掲載します。
test
CHANGED
File without changes
|
test
CHANGED
@@ -159,3 +159,75 @@
|
|
159
159
|
* Xcode Version 12.5 (12E262)
|
160
160
|
|
161
161
|
* SwiftUI
|
162
|
+
|
163
|
+
|
164
|
+
|
165
|
+
### TakeOneさんのアンサーにもとづき実装したコード
|
166
|
+
|
167
|
+
|
168
|
+
|
169
|
+
```
|
170
|
+
|
171
|
+
|
172
|
+
|
173
|
+
//第1画面上段に記載する解説文章英語、日本語120個をLocalizedStringKeyで整列させるためのArray定義
|
174
|
+
|
175
|
+
let array:[LocalizedStringKey] = [
|
176
|
+
|
177
|
+
"text001", "text002", "text003", "text004", "text005",
|
178
|
+
|
179
|
+
//中略
|
180
|
+
|
181
|
+
]
|
182
|
+
|
183
|
+
|
184
|
+
|
185
|
+
//秒針が5秒進むごとにArrayのidを上げて指定する順番を定義する。
|
186
|
+
|
187
|
+
func getTextId() -> Int {
|
188
|
+
|
189
|
+
//経過時間を5秒で割ったIntを算出
|
190
|
+
|
191
|
+
let elapsed = self.stopWatchManager.secondsElapsed/5
|
192
|
+
|
193
|
+
//そのIntを120で割った残り⇨ 121回目以降Arrayが元にもどる
|
194
|
+
|
195
|
+
let reminder = elapsed.truncatingRemainder(dividingBy: 120)
|
196
|
+
|
197
|
+
//表示の時にArrayの順番を示す
|
198
|
+
|
199
|
+
let index = Int(reminder)
|
200
|
+
|
201
|
+
return index
|
202
|
+
|
203
|
+
}
|
204
|
+
|
205
|
+
|
206
|
+
|
207
|
+
//中略
|
208
|
+
|
209
|
+
|
210
|
+
|
211
|
+
//01上段の120個の解説テキストをArrayで表示する。getTexIdは順番。121個目以降は元に戻り繰り返す。
|
212
|
+
|
213
|
+
Group {
|
214
|
+
|
215
|
+
Text(array[getTextId()])
|
216
|
+
|
217
|
+
.padding()
|
218
|
+
|
219
|
+
.border(Color.yellow, width: 5)
|
220
|
+
|
221
|
+
.cornerRadius(3)
|
222
|
+
|
223
|
+
}
|
224
|
+
|
225
|
+
```
|
226
|
+
|
227
|
+
|
228
|
+
|
229
|
+
表示された画面
|
230
|
+
|
231
|
+
|
232
|
+
|
233
|
+
![イメージ説明](8186c704387ab2ed242e021cd53760f0.png)
|