回答編集履歴
1
全面改訂。
test
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
+
##### アウトレット
|
2
|
+
|
3
|
+
|
4
|
+
|
1
5
|
```swift
|
2
|
-
|
3
|
-
//外側Viewのheight
|
4
|
-
|
5
|
-
@IBOutlet weak var viewBaseHeight: NSLayoutConstraint!
|
6
6
|
|
7
7
|
//内側View
|
8
8
|
|
@@ -12,45 +12,35 @@
|
|
12
12
|
|
13
13
|
@IBOutlet weak var viewBlue: UIView!
|
14
14
|
|
15
|
+
//内側Viewのbottom
|
16
|
+
|
17
|
+
@IBOutlet weak var bottomRed: NSLayoutConstraint!
|
18
|
+
|
19
|
+
@IBOutlet weak var bottomBlue: NSLayoutConstraint!
|
20
|
+
|
21
|
+
@IBOutlet weak var bottomYellow: NSLayoutConstraint!
|
22
|
+
|
15
23
|
```
|
16
24
|
|
17
25
|
|
18
26
|
|
19
|
-
|
27
|
+
##### 制約
|
20
28
|
|
21
29
|
|
22
30
|
|
23
|
-
|
31
|
+
* 内側Viewのbottomを外側Viewのbottomに合わせる。(エラーになるので、一つだけ有効にして他はinstalledのチェックを外しておく)
|
32
|
+
|
33
|
+
* その他の制約は適当に。
|
24
34
|
|
25
35
|
|
26
36
|
|
27
|
-
#####
|
37
|
+
##### 選択時
|
28
38
|
|
29
39
|
|
30
40
|
|
31
|
-
*
|
41
|
+
* 選んだ内側Viewを表示し、bottom制約を有効にする。
|
32
42
|
|
33
|
-
* heightは適当
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
##### 内側Viewの制約
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
* leading, trailing, topは外側Viewに合わせる。
|
42
|
-
|
43
|
-
* heightはそれぞれの高さ。
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
##### 内側Viewを選択
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
*
|
43
|
+
* それ以外の内側Viewを非表示のし、bottom制約を無効にする。
|
52
|
-
|
53
|
-
* 選んだ内側Viewの高さを外側Viewに設定する。
|
54
44
|
|
55
45
|
|
56
46
|
|
@@ -58,13 +48,23 @@
|
|
58
48
|
|
59
49
|
@IBAction func selectedRed(_ sender: UIButton) {
|
60
50
|
|
51
|
+
//red
|
52
|
+
|
61
53
|
viewRed.isHidden = false
|
54
|
+
|
55
|
+
bottomRed.isActive = true
|
56
|
+
|
57
|
+
//yellow
|
62
58
|
|
63
59
|
viewYellow.isHidden = true
|
64
60
|
|
61
|
+
bottomYellow.isActive = false
|
62
|
+
|
63
|
+
//blue
|
64
|
+
|
65
65
|
viewBlue.isHidden = true
|
66
66
|
|
67
|
-
|
67
|
+
bottomBlue.isActive = false
|
68
68
|
|
69
69
|
}
|
70
70
|
|
@@ -72,50 +72,4 @@
|
|
72
72
|
|
73
73
|
|
74
74
|
|
75
|
-
# #2 内側Viewの高さ情報をコードで持つ場合
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
##### 外側Viewの制約(#1と同じ)
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
* leading, trailing, topはViewに合わせる。
|
84
|
-
|
85
|
-
|
75
|
+
とりあえずベタ書きで‥。
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
##### 内側Viewの制約
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
* 外側Viewに合わせる。(例えば、leading, trailing, top, bottomを全て外側Viewに合わせる)
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
##### 内側Viewを選択
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
* 選んだ内側Viewを表示。それ以外の内側Viewは非表示。(#1と同じ)
|
102
|
-
|
103
|
-
* 外側Viewの高さに選んだ内側Viewの高さを設定する。
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
```swift
|
108
|
-
|
109
|
-
@IBAction func selectedRed(_ sender: UIButton) {
|
110
|
-
|
111
|
-
viewRed.isHidden = false
|
112
|
-
|
113
|
-
viewYellow.isHidden = true
|
114
|
-
|
115
|
-
viewBlue.isHidden = true
|
116
|
-
|
117
|
-
viewBaseHeight.constant = 100 //Redの高さ
|
118
|
-
|
119
|
-
}
|
120
|
-
|
121
|
-
```
|