teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

コメントへの回答をさらに追記

2018/08/06 13:53

投稿

razuma
razuma

スコア1313

answer CHANGED
@@ -64,4 +64,21 @@
64
64
  }
65
65
  ```
66
66
  以上のようにするとthirdViewcontrollerでDatalistに"1"が入った状態になります。
67
- サンプルがViewcontrollerからsecondViewControllerへの遷移だったので紛らわしかったですかね。
67
+ サンプルがViewcontrollerからsecondViewControllerへの遷移だったので紛らわしかったですかね。
68
+
69
+ コメントへの回答追記:
70
+ 受け渡しているパラメータはseibetupickerで変化するものになっていますか?
71
+ 固定値を渡しているのであればif文が同じ場所しか通りません。
72
+ 性別で変えたいのであれば例えばDatalistは`var Datalist:Int = 0`のようにIntにしておいて
73
+ ```
74
+ thirdViewController.Datalist = seibetupicker.numberOfRows(inComponent: 0)
75
+ ```
76
+ とするとthirdViewControllerのDatalistに違う値が入ってくるので
77
+ ```
78
+ if Datalist == 0 {
79
+ self.view.backgroundColor = UIColor(patternImage: UIImage(named: "AOZORA")!)
80
+ }else{
81
+ self.view.backgroundColor = UIColor(patternImage: UIImage(named: "nighthanabi")!)
82
+ }
83
+ ```
84
+ のようにするとDatalistが0のときはAOZORA、それ以外のときはnighthanabiになるかと思います。

3

コメントへの回答をさらに追記

2018/08/06 13:53

投稿

razuma
razuma

スコア1313

answer CHANGED
@@ -47,4 +47,21 @@
47
47
  上記のようにコード上から追加しても良し、あらかじめstoryboardに追加しておいたImageviewのimageだけ変えるも良しです。
48
48
 
49
49
  parameterはあくまでも例えばの話なので、遷移先に受け渡すパラメータはなんでも良いです。
50
- 例えば性別で変えたいのであれば、男性のときは0を渡す、女性のときは1を渡す、のようにしておけば判別できると思います。まずは画面遷移でパラメータを受け渡せるかを確認すると良いかと思います。
50
+ 例えば性別で変えたいのであれば、男性のときは0を渡す、女性のときは1を渡す、のようにしておけば判別できると思います。まずは画面遷移でパラメータを受け渡せるかを確認すると良いかと思います。
51
+
52
+ コメントへの回答追記:
53
+ ??????????はDatalistになるかと思います。例えば以下のようにするとか。
54
+ `if Datalist == "1"`
55
+
56
+ ちなみにですが、secondViewControllerから違う画面へ遷移するときですよね?
57
+ Datalistが定義されている遷移先をthirdViewControllerとすると以下のようになります。
58
+ ```
59
+ func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
60
+ if segue.identifier == "SecondView" {
61
+ let thirdViewController:ViewController = segue.destination as! ViewController
62
+ thirdViewController.Datalist = "1"
63
+ }
64
+ }
65
+ ```
66
+ 以上のようにするとthirdViewcontrollerでDatalistに"1"が入った状態になります。
67
+ サンプルがViewcontrollerからsecondViewControllerへの遷移だったので紛らわしかったですかね。

2

コメントへの回答追記

2018/08/06 13:17

投稿

razuma
razuma

スコア1313

answer CHANGED
@@ -36,4 +36,15 @@
36
36
  }else{
37
37
  self.view.backgroundColor = UIColor.black
38
38
  }
39
- ```
39
+ ```
40
+
41
+ コメントへの回答追記:
42
+ どんな画像を背景にしたいのかにもよりますが、背景に画像を使う場合には
43
+ `self.view.backgroundColor = UIColor(patternImage: UIImage(named: "gazou")!)`
44
+ こんな感じでパターンを繰り返すような感じにするか。
45
+ UIImageViewをviewに追加してあげるようなかたちになります。
46
+ [【Swift】背景に画像を設置する](https://qiita.com/Camino/items/8536c8270789732a86fc)
47
+ 上記のようにコード上から追加しても良し、あらかじめstoryboardに追加しておいたImageviewのimageだけ変えるも良しです。
48
+
49
+ parameterはあくまでも例えばの話なので、遷移先に受け渡すパラメータはなんでも良いです。
50
+ 例えば性別で変えたいのであれば、男性のときは0を渡す、女性のときは1を渡す、のようにしておけば判別できると思います。まずは画面遷移でパラメータを受け渡せるかを確認すると良いかと思います。

1

コメントへの回答追記

2018/08/06 12:09

投稿

razuma
razuma

スコア1313

answer CHANGED
@@ -24,4 +24,16 @@
24
24
  以下、参考にひとつ。
25
25
  [Swift初心者メモ Storyboardのsegueで遷移した画面に値を渡すす](https://qiita.com/39_isao/items/5f09c96a8a4c2de7c8fe)
26
26
 
27
- 何かわからない点があればコメントください。
27
+ 何かわからない点があればコメントください。
28
+
29
+ コメントへの回答追記:
30
+ 遷移先の画面で受け取った値を元に分岐できればなんでも大丈夫なのでif文でも大丈夫です。
31
+ 背景の変え方は`self.view.backgroundColor`で変えられます。
32
+ なので例えばparameterに何か値が入ってくるとすれば以下のようになるかと思います。
33
+ ```
34
+ if parameter == 1 {
35
+ self.view.backgroundColor = UIColor.blue
36
+ }else{
37
+ self.view.backgroundColor = UIColor.black
38
+ }
39
+ ```