回答編集履歴

1

viewWillAppearについて補足

2018/02/16 14:42

投稿

nakasho_dev
nakasho_dev

スコア2655

test CHANGED
@@ -5,3 +5,41 @@
5
5
  表示する直前に初期化するならviewWillAppearをoverrideしても良いと思います。
6
6
 
7
7
  非表示になったときにviewDidDisappearのoverrideの処理で初期化しても良いと思います。
8
+
9
+
10
+
11
+ 【追記】
12
+
13
+ 処理が省略されているので可能か分かりませんが、viewDidLoadで表示した際の内容としたいのであればviewDidLoadで実行した内容をそのままviewWillAppearに書けば内容は同じになるかもしれません。
14
+
15
+ また、スクロールを一番上に戻すのであれば、[【Swift】【Objective-C】一番上に、一番下にスクロールする方法](https://qiita.com/sunstripe/items/d352e4806a8e27d8b675)などを参考にviewWillAppear内に記述すればよいと考えます。
16
+
17
+ ```Swift
18
+
19
+ override func viewWillAppear() {
20
+
21
+ super.viewWillAppear()
22
+
23
+ //viewDidLoadの処理
24
+
25
+ //スクロール処理
26
+
27
+ }
28
+
29
+ ```
30
+
31
+
32
+
33
+ ただし、viewDidLoad内の以下の処理は多重に要素を登録してしまうのでviewWillAppearでは実行しない方が良いかもしれません。
34
+
35
+ ```Swift
36
+
37
+ // indexPageラベル
38
+
39
+ indexPageLabel.frame = CGRect(x: 150, y: 10, width: 100, height: 30)
40
+
41
+ indexPageLabel.text = "(labelStr!)"
42
+
43
+ scrollView.addSubview(indexPageLabel)
44
+
45
+ ```