質問編集履歴

1

質問の内容を詳細にしました

2016/12/22 02:06

投稿

haruka0912
haruka0912

スコア12

test CHANGED
File without changes
test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  ```
10
10
 
11
- //ControllerView
11
+ //ContainerView
12
12
 
13
13
  //動的にボタンを作成
14
14
 
@@ -87,3 +87,123 @@
87
87
 
88
88
 
89
89
  ![イメージ説明](fa2cf81377bbf09d871c9ec73af7ced5.png)
90
+
91
+
92
+
93
+ //追加
94
+
95
+ 詳しく説明しすぎることで逆に分かりづらくなるのかな、と思い幾らか省いて質問しました。長くなりますが詳しく説明したいと思います。
96
+
97
+
98
+
99
+ ただいまスクロール画面で色々なことを試しています。
100
+
101
+ ContainerView側でスクロール画面を作り、ViewController側でスクロール画面上にスクロールをしても動かないボタンを作っています。
102
+
103
+
104
+
105
+ 今やりたいことは一つ前の質問でも追加で少し聞いたのですが、ContainerViewで動的に作ったボタンを押した際に画面の中央に画像を表示することです。
106
+
107
+
108
+
109
+ 純粋にContainerViewのボタンを押すと画像を表示する、とした時スクロール画面の一定の場所でのみ画像が表示され、スクロール画面の一番右で押しても画面中央、一番左で押しても画面中央に表示されるようにはなりませんでした。今スクロール画面のどこらへんを画面に表示しているかを計ってそこの座標?に画像を表示することができればいいと思いましたけどさすがに難しいと思い諦めました。
110
+
111
+ 次にContainerViewに対し、ViewControllerは上にあり、ViewControllerの画面の広さは普通通りなのでViewControllerに画像を表示すれば、常に画面中央に表示されるのではないか、と考えたのが今回の質問の経緯です。
112
+
113
+
114
+
115
+ ```
116
+
117
+ //ContainerView
118
+
119
+ import UIKit
120
+
121
+
122
+
123
+ class scroll: UIViewController, UIScrollViewDelegate {
124
+
125
+ let scrollView = UIScrollView()
126
+
127
+ let mybutton1 = UIButton()
128
+
129
+
130
+
131
+ override func viewDidLoad() {
132
+
133
+ super.viewDidLoad()
134
+
135
+
136
+
137
+ // 表示窓のサイズと位置を設定
138
+
139
+ scrollView.frame.size = CGSize(width: 350, height: 660)
140
+
141
+ scrollView.center = self.view.center
142
+
143
+
144
+
145
+ // 中身の大きさを設定
146
+
147
+ scrollView.contentSize = CGSize(width: 1300, height: 660)
148
+
149
+
150
+
151
+ // Delegate を設定
152
+
153
+ scrollView.delegate = self
154
+
155
+
156
+
157
+ func CGRectMake(_ x: CGFloat, _ y: CGFloat, _ width: CGFloat, _ height: CGFloat) -> CGRect {
158
+
159
+ return CGRect(x: x, y: y, width: width, height: height)
160
+
161
+ }
162
+
163
+
164
+
165
+ let myImage = UIImage(named: "haikei.png")
166
+
167
+ let myImageView = UIImageView()
168
+
169
+ myImageView.image = myImage
170
+
171
+ myImageView.frame = scrollView.frame
172
+
173
+ myImageView.contentMode = UIViewContentMode.scaleAspectFill
174
+
175
+ scrollView.addSubview(myImageView)
176
+
177
+
178
+
179
+ // ScrollViewの中身を作る
180
+
181
+
182
+
183
+ let iti1 = CGRectMake(30, 60, 100, 100)
184
+
185
+ mybutton1.frame = iti1
186
+
187
+ mybutton1.backgroundColor = UIColor.red
188
+
189
+ mybutton1.setTitle("1", for: .normal)
190
+
191
+ scrollView.addSubview(mybutton1)
192
+
193
+ mybutton1.addTarget(self, action: #selector(area1.onClickMyButton1(sender:)), for: .touchUpInside)
194
+
195
+ self.view.addSubview(scrollView)
196
+
197
+ }
198
+
199
+
200
+
201
+ internal func onClickMyButton1(sender: UIButton) {
202
+
203
+ ViewController().image1()
204
+
205
+ }
206
+
207
+ }
208
+
209
+ ```