回答編集履歴

1

コメントの質問に対する回答を追記

2015/09/22 16:04

投稿

shiolier
shiolier

スコア1156

test CHANGED
@@ -17,3 +17,51 @@
17
17
 
18
18
 
19
19
  名前からして、おそらくコレのことだと思います。
20
+
21
+
22
+
23
+ ---
24
+
25
+
26
+
27
+ コメントの
28
+
29
+ > UILayoutGuideはUIViewとは無関係のクラスのようですが、なぜself.viewのsubviewsとして登録することができてるのでしょうか?
30
+
31
+ に関してですが、
32
+
33
+ 「Appleがそう定めているから」でしょうね。
34
+
35
+ ふざけているのではなく、至って真面目です。
36
+
37
+
38
+
39
+ おっしゃる通り、UILayoutGuideのドキュメントを見る限り、UIViewとの親子関係はないようで、
40
+
41
+ ```Swift
42
+
43
+ let layoutGuide = UILayoutGuide()
44
+
45
+ self.view.addSubview(layoutGuide)
46
+
47
+ ```
48
+
49
+ このように書くとコンパイルエラーになりますし、
50
+
51
+ ```Swift
52
+
53
+ let layoutGuide = UILayoutGuide()
54
+
55
+ self.view.addLayoutGuide(layoutGuide)
56
+
57
+ ```
58
+
59
+ このように書いたからといって、`self.view.subviews`に追加されたりはしません。
60
+
61
+
62
+
63
+ なので、そもそも`_UILayoutGuide`と`UILayoutGuide`が別物なのか、或いは、`Top Layout Guide`&`Bottom Layout Guide`として、2つだけ追加できるようにAppleが定めているのか。
64
+
65
+
66
+
67
+ どちらにせよ、当然といえば当然ですが、iOSの世界は、Appleができるといえばできる、Appleができないといえばできない、そういう世界ですから、あまり気にしすぎないほうがいいと思いますよ。