質問編集履歴

2

タグを修正

2019/03/14 13:43

投稿

KATATSU
KATATSU

スコア17

test CHANGED
File without changes
test CHANGED
File without changes

1

対象となるコードを追記

2019/03/14 13:43

投稿

KATATSU
KATATSU

スコア17

test CHANGED
File without changes
test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  #前提
8
8
 
9
- ・Navigationbarの画面遷移で画面遷移を管理しています。
9
+ ・NvigationController内のNavigationbarで画面遷移を管理しています。
10
10
 
11
11
  ・Navigationbar上に「次へ」「戻る」の二種類が基本的に配置されており、ユーザーはいつでも前の画面に戻ることが可能です。
12
12
 
@@ -27,3 +27,187 @@
27
27
 
28
28
 
29
29
  よろしくお願いいたします。
30
+
31
+
32
+
33
+ 対象コード
34
+
35
+ ```
36
+
37
+ import UIKit
38
+
39
+
40
+
41
+ ///////<summary>
42
+
43
+ ///////頭痛の色を決めるページ
44
+
45
+
46
+
47
+ class HeadacheMake021: UIViewController {
48
+
49
+
50
+
51
+ @IBOutlet weak var headMake021View: HeadacheMakeTextView!
52
+
53
+ @IBOutlet weak var colorEditNib: ColorEdit!
54
+
55
+ @IBOutlet weak var headacheSideNib: HeadacheSide!
56
+
57
+
58
+
59
+ var isFirst = true // 最初の処理かどうか
60
+
61
+
62
+
63
+ var headMakeNo021 : String! = ""//ページ番号
64
+
65
+ var headMakeText021 : String! = ""//ページ説明テキスト
66
+
67
+ //var headacheImgF011 : UIImageView! //タップ操作で配置されるimage変数 背面用
68
+
69
+ var headacheImgS021 : UIImageView! //タップ操作で配置されるimage変数 側面用
70
+
71
+ var defaultSImg = UIImage(named:"headacheBase01.jpg")
72
+
73
+ //var headacheImgSize: CGSize! //
74
+
75
+ //////////////////////////////////////////////////////////////////////
76
+
77
+ var headacheFPos :CGPoint!//配置場所を配置したheadachePointに対する座標に変換する変数
78
+
79
+ var headacheFPosratio: CGFloat! //配置場所の比率計算用変数 headacheFrontNibの縦方向のサイズを格納
80
+
81
+ var headacheImgFHeigt: CGFloat! //配置場所の比率計算用変数 headacheFrontNibの縦方向のサイズを格納
82
+
83
+ var headacheImgFSize: CGSize! //
84
+
85
+ //var headacheImgKind: UIImageView! //配置したUIImageの種類を格納
86
+
87
+ var headacheImgFKind: String!
88
+
89
+ var headacheSPos :CGPoint!//配置場所を配置したheadachePointに対する座標に変換する変数
90
+
91
+ var headacheSPosratio: CGFloat! //配置場所の比率計算用変数 headacheFrontNibの縦方向のサイズを格納
92
+
93
+ var headacheImgSHeigt: CGFloat! //配置場所の比率計算用変数 headacheFrontNibの縦方向のサイズを格納
94
+
95
+ var headacheImgSSize: CGSize! //
96
+
97
+ //var headacheImgKind: UIImageView! //配置したUIImageの種類を格納
98
+
99
+ var headacheImgSKind: String!
100
+
101
+ //////////////////////////////////////////////////////////////////////
102
+
103
+
104
+
105
+
106
+
107
+ override func viewDidLoad() {
108
+
109
+ super.viewDidLoad()
110
+
111
+ headMakeNo021 = "2"
112
+
113
+ headMakeText021 = "あなたの頭痛は\n何色をしていますか?"
114
+
115
+ headMake021View.headMakeNo.text = headMakeNo021
116
+
117
+ headMake021View.headMakeText.text = headMakeText021
118
+
119
+ headacheImgS021 = UIImageView(frame: CGRect(x: -300, y: -300, width: 30, height: 30))
120
+
121
+ headacheImgS021.frame.size = headacheImgSSize
122
+
123
+ headacheImgS021.image = defaultSImg
124
+
125
+ headacheImgS021.tintColor = UIColor(red: 131/255 , green: 173/255 , blue: 196/255 , alpha: 1.0)
126
+
127
+ headacheImgS021.image = headacheImgS021.image?.withRenderingMode(.alwaysTemplate)
128
+
129
+ self.colorEditNib.colorEditDelegate = self
130
+
131
+
132
+
133
+ if (headacheSPos != nil ){
134
+
135
+ print("DEBUG_PRINT: if文内配置")
136
+
137
+ self.headacheSideNib.baseView012.addSubview(headacheImgS021)
138
+
139
+ }
140
+
141
+ }
142
+
143
+
144
+
145
+ override func viewDidAppear(_ animiated: Bool){
146
+
147
+ if isFirst {
148
+
149
+ isFirst = false
150
+
151
+ headacheSPosratio = headacheSideNib.baseView012.frame.height / headacheImgSHeigt
152
+
153
+ headacheImgS021.frame.size = CGSize(width: headacheImgS021.frame.size.width * headacheSPosratio, height: headacheImgS021.frame.size.height * headacheSPosratio)
154
+
155
+ headacheSPos = CGPoint(x:headacheSPos.x * headacheSPosratio, y:headacheSPos.y * headacheSPosratio)
156
+
157
+ }
158
+
159
+
160
+
161
+ headacheImgS021.center = headacheSPos
162
+
163
+ }
164
+
165
+
166
+
167
+ override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
168
+
169
+ print("DEBUG_PRINT: seguepreoare021→031")
170
+
171
+ // segueから遷移先のHeadacheMake031を取得する
172
+
173
+ let headacheMake031:HeadacheMake031 = segue.destination as! HeadacheMake031
174
+
175
+ headacheMake031.color031 = headacheImgS021.tintColor
176
+
177
+ // 遷移先のHeadacheMake012で宣言している各変数に頭痛の配置座標・比率計算用のサイズ・配置している場所を代入して渡す
178
+
179
+ headacheMake031.headacheFPos = headacheFPos//座標
180
+
181
+ headacheMake031.headacheImgFHeigt = headacheImgFHeigt //比率計算用高さ
182
+
183
+ headacheMake031.headacheImgFSize = headacheImgFSize
184
+
185
+ headacheMake031.headacheImgFKind = headacheImgFKind //種類
186
+
187
+ headacheMake031.headacheSPos = headacheSPos//座標
188
+
189
+ headacheMake031.headacheImgSHeigt = headacheSideNib.baseView012.frame.height //比率計算用高さ
190
+
191
+ headacheMake031.headacheImgSSize = headacheSideNib.baseView012.frame.size
192
+
193
+ headacheMake031.headacheImgSKind = headacheImgSKind //種類
194
+
195
+ }
196
+
197
+ }
198
+
199
+
200
+
201
+ extension HeadacheMake021: ColorEditDelegate {
202
+
203
+ func changeImageViewColor(color: UIColor) {
204
+
205
+ headacheImgS021.tintColor = color
206
+
207
+ }
208
+
209
+ }
210
+
211
+
212
+
213
+ ```