質問編集履歴

4

「それぞれのcontainerViewとTableViewControllerをEmbedで結合しました。」と修正しました。

2018/09/24 08:32

投稿

Tomzy
Tomzy

スコア104

test CHANGED
File without changes
test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
 
9
- やったことはviewControllerにナビゲーションバーを配置し、そこにsegmented controlを置き、2つのTableViewのうち選択した画面を表示することを試しています。viewControllerにAとB2つのcontainerViewを配置した上で、それぞれのcontainerViewとTableViewをEmbedで結合しました。Segmented controlによりcontainerViewを選択するアクションをコードで書き込みました。
9
+ やったことはviewControllerにナビゲーションバーを配置し、そこにsegmented controlを置き、2つのTableViewのうち選択した画面を表示することを試しています。viewControllerにAとB2つのcontainerViewを配置した上で、それぞれのcontainerViewとTableViewControllerをEmbedで結合しました。Segmented controlによりcontainerViewを選択するアクションをコードで書き込みました。
10
10
 
11
11
 
12
12
 

3

情報の修正は終わっています。

2018/09/24 08:32

投稿

Tomzy
Tomzy

スコア104

test CHANGED
File without changes
test CHANGED
File without changes

2

途中で投稿された為、変更画面で修正して完成し投稿しました。

2018/09/24 08:27

投稿

Tomzy
Tomzy

スコア104

test CHANGED
File without changes
test CHANGED
@@ -1,14 +1,4 @@
1
- ### 記載中誤って投稿されました。完成後改めて質問します。
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
- 問題点の概要と質問
1
+ ###問題点の概要と質問
12
2
 
13
3
 
14
4
 
@@ -16,7 +6,11 @@
16
6
 
17
7
 
18
8
 
19
- やったことはviewControllerにナビゲーションバーを配置し、そこにsegmented controlを置き、2つのTableViewのうち選択した画面を表示することを試しています。viewControlerにAとB2つのcontainerViewを配置した上で、それぞれのcontainerViewとTableViewをEmbedで結合しました。Segmented controlによりcontainerViewを選択するアクションをコードで書き込みました。
9
+ やったことはviewControllerにナビゲーションバーを配置し、そこにsegmented controlを置き、2つのTableViewのうち選択した画面を表示することを試しています。viewControllerにAとB2つのcontainerViewを配置した上で、それぞれのcontainerViewとTableViewをEmbedで結合しました。Segmented controlによりcontainerViewを選択するアクションをコードで書き込みました。
10
+
11
+
12
+
13
+ [Swift3で動的にUIViewを切り替える Part2](https://re-engines.com/2017/07/21/swift3で動的にuiviewを切り替える-part2/) 他のサイト情報を参考にしました。
20
14
 
21
15
 
22
16
 
@@ -42,4 +36,188 @@
42
36
 
43
37
 
44
38
 
45
- ### viewControler
39
+ ### ViewControllerのコード
40
+
41
+ ```// FirstViewController.swift
42
+
43
+ import UIKit
44
+
45
+
46
+
47
+ class FirstViewController: UIViewController {
48
+
49
+
50
+
51
+ @IBOutlet weak var kirikaeSegmentedControl: UISegmentedControl!
52
+
53
+
54
+
55
+ // ①
56
+
57
+ @IBOutlet weak var containerView: UIView!
58
+
59
+ @IBOutlet weak var containerA: UIView!
60
+
61
+ @IBOutlet weak var containerB: UIView!
62
+
63
+ var containers: Array<UIView> = []
64
+
65
+
66
+
67
+ // ②
68
+
69
+ override func viewDidLoad() {
70
+
71
+ super.viewDidLoad()
72
+
73
+ containers = [containerA,containerB]
74
+
75
+ containerView.bringSubview(toFront: containerA)
76
+
77
+ }
78
+
79
+
80
+
81
+ override func didReceiveMemoryWarning() {
82
+
83
+ super.didReceiveMemoryWarning()
84
+
85
+ }
86
+
87
+
88
+
89
+ @IBAction func changeContainerView(_ sender: UISegmentedControl) {
90
+
91
+
92
+
93
+ // ③
94
+
95
+
96
+
97
+ let currentContainerView = containers[sender.selectedSegmentIndex]
98
+
99
+ containerView.bringSubview(toFront: currentContainerView)
100
+
101
+ }
102
+
103
+ }
104
+
105
+
106
+
107
+ ```
108
+
109
+ ### 不具合が発生した操作
110
+
111
+ 新規にTableViewファイルを2つ作りSave01TableViewController.swiftとSave02TableViewController.swiftと名づけました。コードは何も書き込んでいないので下記のとおりです。
112
+
113
+
114
+
115
+ ```// Save01TableViewController.swift
116
+
117
+
118
+
119
+
120
+
121
+ import UIKit
122
+
123
+
124
+
125
+ class Save01TableViewController: UITableViewController {
126
+
127
+
128
+
129
+ override func viewDidLoad() {
130
+
131
+ super.viewDidLoad()
132
+
133
+
134
+
135
+ // Uncomment the following line to preserve selection between presentations
136
+
137
+ // self.clearsSelectionOnViewWillAppear = false
138
+
139
+
140
+
141
+ // Uncomment the following line to display an Edit button in the navigation bar for this view controller.
142
+
143
+ // self.navigationItem.rightBarButtonItem = self.editButtonItem
144
+
145
+ }
146
+
147
+
148
+
149
+ override func didReceiveMemoryWarning() {
150
+
151
+ super.didReceiveMemoryWarning()
152
+
153
+ // Dispose of any resources that can be recreated.
154
+
155
+ }
156
+
157
+
158
+
159
+ // MARK: - Table view data source
160
+
161
+
162
+
163
+ override func numberOfSections(in tableView: UITableView) -> Int {
164
+
165
+ // #warning Incomplete implementation, return the number of sections
166
+
167
+ return 0
168
+
169
+ }
170
+
171
+
172
+
173
+ override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
174
+
175
+ // #warning Incomplete implementation, return the number of rows
176
+
177
+ return 0
178
+
179
+ }
180
+
181
+ }
182
+
183
+ ```
184
+
185
+ 先に作ったTableViewのCustomClassにSave01TableViewControllerを選んでビルドすると
186
+
187
+ Segmented controlは有効にTableViewを選択するのですが、下記の画像のように単純な線だけのTableViewしか現れません。
188
+
189
+ ![イメージ説明](18737d909ac4715a272958d7e991eb5f.png)
190
+
191
+ ![イメージ説明](cb36b1e58b8b4c33eda45a5b55c6902f.png)
192
+
193
+ ![イメージ説明](192a77f094e8df9de1731e1c90b0c5f1.png)
194
+
195
+
196
+
197
+ ### それもCustomClassの選び方により線だけの現れ具合が変わります。
198
+
199
+ A B 共にブランクの場合は A B 画面共に正常
200
+
201
+ Aだけ選びBはブランクの場合 A B 画面共に線だけ
202
+
203
+ AはブランクB は選ぶと   A B 画面共に線だけ
204
+
205
+ A B 共に選ぶと      Aは線だけ B 画面は正常
206
+
207
+
208
+
209
+ #ご参考事項
210
+
211
+ 環境は下記のとおりです。
212
+
213
+ MacBook Pro (15-inch, 2016)
214
+
215
+ High Sierra OS10.13.6
216
+
217
+ Version 9.4 (9F1027a)Swift4
218
+
219
+
220
+
221
+
222
+
223
+ よろしくお願いします。

1

記載中誤って投稿されました。完成後改めて質問します。

2018/09/24 08:19

投稿

Tomzy
Tomzy

スコア104

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,14 @@
1
+ ### 記載中誤って投稿されました。完成後改めて質問します。
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+
1
- ### 問題点の概要と質問
11
+ 問題点の概要と質問
2
12
 
3
13
 
4
14