質問編集履歴

3

誤字を修正

2019/07/23 03:55

投稿

swifty
swifty

スコア38

test CHANGED
File without changes
test CHANGED
@@ -244,7 +244,7 @@
244
244
 
245
245
 
246
246
 
247
- ### 情報の追加・修正依頼を受けの追記
247
+ ### 情報の追加・修正依頼を受けの追記
248
248
 
249
249
 
250
250
 

2

追記を追加

2019/07/23 03:55

投稿

swifty
swifty

スコア38

test CHANGED
File without changes
test CHANGED
@@ -241,3 +241,115 @@
241
241
  Swift 5.0.1
242
242
 
243
243
  Xcode 10.2.1
244
+
245
+
246
+
247
+ ### 情報の追加・修正依頼を受け手の追記
248
+
249
+
250
+
251
+ RecordViewControllerのチャート生成部分の記述は以下のようになっております。
252
+
253
+
254
+
255
+ ```RecordViewController
256
+
257
+ //ChartViewを生成
258
+
259
+ let rect = CGRect.init(x:((self.view.bounds.width-self.view.bounds.width * 0.9)/2), y: 175, width: self.view.bounds.width * 0.9, height: 500)
260
+
261
+ let chartView = ChartView(frame: rect)
262
+
263
+
264
+
265
+ //表示
266
+
267
+ self.scrollView.addSubview(chartView)
268
+
269
+
270
+
271
+ //chartViewの位置を指定
272
+
273
+ scrollView.addSubview(chartView)
274
+
275
+ chartView.translatesAutoresizingMaskIntoConstraints = false
276
+
277
+ chartView.centerXAnchor.constraint(equalTo: scrollView.centerXAnchor).isActive = true
278
+
279
+ chartView.topAnchor.constraint(equalTo: dailyLabel.bottomAnchor, constant: 20).isActive = true
280
+
281
+ chartView.leadingAnchor.constraint(equalTo: scrollView.leadingAnchor, constant: 40).isActive = true
282
+
283
+ chartView.trailingAnchor.constraint(equalTo: scrollView.trailingAnchor, constant: 40).isActive = true
284
+
285
+
286
+
287
+ //Realmからチャート描画のためのデータを取得
288
+
289
+ ChartView.createData { recordDataArray in
290
+
291
+
292
+
293
+ ChartView.lastSevenRecords = recordDataArray
294
+
295
+
296
+
297
+ //期間中のスコア全て配列に格納
298
+
299
+ var scoreArray = [Int16]()
300
+
301
+ for recordData in recordDataArray {
302
+
303
+
304
+
305
+ scoreArray.append(recordData.score)
306
+
307
+
308
+
309
+ }
310
+
311
+
312
+
313
+ //期間中の最高スコアを取得
314
+
315
+ let maxScore = Int(scoreArray.max()!)
316
+
317
+
318
+
319
+ if maxScore == 0 {
320
+
321
+
322
+
323
+ ChartView.maxValue = 10 * 100
324
+
325
+
326
+
327
+ } else {
328
+
329
+
330
+
331
+ //最高スコアを10の倍数に切り上げたものをChartViewのmaxValueに代入
332
+
333
+ ChartView.maxValue = self.getTenTimesNumber(num: maxScore, base: 10) * 100 //この100はmaxValueの値をyAxisHeightより大きくするために必要なもの
334
+
335
+
336
+
337
+ }
338
+
339
+
340
+
341
+ let node = ChartView.createChart()
342
+
343
+ //取得したデータをチャート描画するために反映させアニメーション
344
+
345
+ chartView.updateShape(node: node)
346
+
347
+ chartView.contentMode = .scaleAspectFit
348
+
349
+ ChartView.playAnimations()
350
+
351
+
352
+
353
+ }
354
+
355
+ ```

1

微調整

2019/07/23 03:45

投稿

swifty
swifty

スコア38

test CHANGED
File without changes
test CHANGED
@@ -24,11 +24,11 @@
24
24
 
25
25
 
26
26
 
27
- 初期表示が2ページ目になっており、**初めて2ページ目から3ページ目にいくとき**は2ページ目で変更や保存したデータが適切に表示されます。
27
+ 初期表示が2ページ目になっており、**初めて2ページ目から3ページ目にいくとき**は2ページ目で変更や保存したデータが適切にチャートで表示されます。
28
-
29
-
30
-
28
+
29
+
30
+
31
- ですがその後スワイプでページ2に戻ってから、データを更新してページ3にいくとその結果が反映されず、先ほど表示されたがそのまま表示されてしまいます。
31
+ ですがその後スワイプでページ2に戻ってから、データを更新してページ3にいくとその結果が反映されず、先ほど表示されたチャがそのまま表示されてしまいます。
32
32
 
33
33
 
34
34