質問編集履歴

2

原因が分かったため追記

2020/10/21 10:48

投稿

abc1222
abc1222

スコア24

test CHANGED
File without changes
test CHANGED
@@ -26,6 +26,10 @@
26
26
 
27
27
 
28
28
 
29
+ 追記:解決策はまだ分かっていませんが、原因は分かったため、質問の一番下に「原因」の見出しで情報を追加しています。
30
+
31
+
32
+
29
33
  ### 該当のソースコード
30
34
 
31
35
 
@@ -307,3 +311,17 @@
307
311
  ・Extentionの使い方がよく分からず、前の画面にも同じExtentionを記載しています。
308
312
 
309
313
  ※クラス名やOutletさせるtextFieldは変えています
314
+
315
+
316
+
317
+ ### 原因
318
+
319
+ textFieldをStackViewの中に入れているなど、入れ子が複雑な(深い?)状態になっていました。
320
+
321
+ そして、勉強中なので間違っているかもしれませんが、self.selectedTextField!.frame.maxYは親Viewからの位置を取得するようですので、スクロールビューからの距離ではなく、StackViewからの距離を取得しているみたいです。
322
+
323
+ 結果、0 − キーボードサイズを計算し、offsetY < 0 { return }によって何も起きないという状況と思われます。
324
+
325
+
326
+
327
+ じゃあどうすればスクロールビューからtextFieldまでの距離が取れるのかなどまだわからない点も多いので自己解決には記載できないのですが、取り急ぎご報告です。

1

追記依頼を頂いたので、関係ありそうな情報を追記しています。

2020/10/21 10:48

投稿

abc1222
abc1222

スコア24

test CHANGED
File without changes
test CHANGED
@@ -275,3 +275,35 @@
275
275
 
276
276
 
277
277
  ```
278
+
279
+
280
+
281
+ ### 追記
282
+
283
+ 現在のストーリーボード上のViewの階層と、そのほか関係の有りそうな項目を追記いたします
284
+
285
+ ![イメージ説明](0d806737abd159153d9a8a6a89a1153d.png)
286
+
287
+
288
+
289
+ 最初のScrollViewが参考サイトのとおりに作った所です。
290
+
291
+ SafeAreaいっぱいに広げ、すぐ下のViewはSafeAreaと同じ縦横幅に設定しています。
292
+
293
+ 上記Viewは透過させ、その上に(階層としては下?に)Viewを余白4方向20で設置し、ポップアップのように見せています。
294
+
295
+ ポップアップ用のViewに見出し用ラベル、textFieldを設置するScrollView、ボタン設置用のStackViewを置いています。
296
+
297
+
298
+
299
+ UIViewControllerにOutletさせているのは最初のScrollViewです。
300
+
301
+ スクロールビューが2つあることが駄目なのでしょうか。
302
+
303
+
304
+
305
+ その他気になる所
306
+
307
+ ・Extentionの使い方がよく分からず、前の画面にも同じExtentionを記載しています。
308
+
309
+ ※クラス名やOutletさせるtextFieldは変えています