回答編集履歴
3
ナビゲーションバーのビューのendEditingについてを追記しました。
test
CHANGED
@@ -16,6 +16,8 @@
|
|
16
16
|
|
17
17
|
追記です。
|
18
18
|
コメントありがとうございます。
|
19
|
+
|
20
|
+
> view.endEditing(true)のViewは何を表しているのでしょうか?
|
19
21
|
|
20
22
|
> このメソッドは、現在のビューとそのサブビュー階層で、現在ファーストレスポンダであるテキストフィールドを探します。見つかった場合は、そのテキストフィールドに最初のレスポンダとして辞任するように要求します。forceパラメータがtrueに設定されている場合、テキストフィールドは質問されることすらなく、強制的に辞任させられます。
|
21
23
|
> https://developer.apple.com/documentation/uikit/uiview/1619630-endediting
|
@@ -41,3 +43,26 @@
|
|
41
43
|
`tableView(_:didSelectRowAt:)`が先に動いて画面の遷移だけ処理されているのでしょうか。
|
42
44
|
`tableView(_:didSelectRowAt:)`の中にも`endEditing(_:)`を記述してみたらどうでしょうか?
|
43
45
|
|
46
|
+
---
|
47
|
+
|
48
|
+
コメントありがとうございます。
|
49
|
+
3つ目の追記です。
|
50
|
+
|
51
|
+
> Storyboardには配置しておりません
|
52
|
+
|
53
|
+
ごめんなさい。
|
54
|
+
再現確認した際に、ナビゲーションバーにUISearchBarを配置せずに、下側の枠に配置していました。。
|
55
|
+
この場合、`self.view.endEditing(true)`で希望する動きになっているように見えていたようでした。
|
56
|
+
|
57
|
+
ナビゲーションバーは別のビューになるようで、次の2つのいずれかするとキーボードが閉じるように思いますがどうでしょうか。
|
58
|
+
|
59
|
+
* `searchBar.endEditing(true)`
|
60
|
+
* `navigationItem.titleView?.endEditing(true)`
|
61
|
+
|
62
|
+
|
63
|
+
> .rgbの部分はエラーになってません UIcolorのswiftファイルを作ってそこでrgbの関数を定義しているからだと思います。(画像追加しました)
|
64
|
+
|
65
|
+
そうだったのですね。
|
66
|
+
気になっていたところでしたのでスッキリしました。
|
67
|
+
staticな関数も `.` から記述することができるのですね。
|
68
|
+
|
2
セルをタップした時の内容を追記しました。
test
CHANGED
@@ -20,10 +20,24 @@
|
|
20
20
|
> このメソッドは、現在のビューとそのサブビュー階層で、現在ファーストレスポンダであるテキストフィールドを探します。見つかった場合は、そのテキストフィールドに最初のレスポンダとして辞任するように要求します。forceパラメータがtrueに設定されている場合、テキストフィールドは質問されることすらなく、強制的に辞任させられます。
|
21
21
|
> https://developer.apple.com/documentation/uikit/uiview/1619630-endediting
|
22
22
|
|
23
|
-
すごく適当になってしまうかもしれませんが、
|
23
|
+
すごく ~~適当~~ 雑な説明になってしまうかもしれませんが、
|
24
24
|
テキストフィールドにフォーカスがあるときに`endEditing(_:)`を呼び出すと、
|
25
25
|
テキストフィールドからフォーカスを外して、
|
26
26
|
結果的にキーボードを非表示にすることができる、
|
27
27
|
ということだと思います。
|
28
28
|
|
29
29
|
テキストフィールド以外の空いているスペースをタップしても同じでしょうか?
|
30
|
+
|
31
|
+
---
|
32
|
+
|
33
|
+
コメントありがとうございます。
|
34
|
+
さらに追記です。
|
35
|
+
|
36
|
+
> テキストフィールド以外をタップしても閉じないです
|
37
|
+
セル以外の箇所はどうでしょうか?
|
38
|
+
*セルがいっぱいでキーボードとの間に隙間はないでしょうか・・
|
39
|
+
|
40
|
+
> cellをタップして遷移後戻ってきてもキーボードが閉じていない状態です
|
41
|
+
`tableView(_:didSelectRowAt:)`が先に動いて画面の遷移だけ処理されているのでしょうか。
|
42
|
+
`tableView(_:didSelectRowAt:)`の中にも`endEditing(_:)`を記述してみたらどうでしょうか?
|
43
|
+
|
1
endEditingについてを追記しました。
test
CHANGED
@@ -12,3 +12,18 @@
|
|
12
12
|
|
13
13
|
リンク先にあるように、UITapGestureRecognizerを使うと希望する動きが実現できそうですがどうでしょうか。
|
14
14
|
|
15
|
+
---
|
16
|
+
|
17
|
+
追記です。
|
18
|
+
コメントありがとうございます。
|
19
|
+
|
20
|
+
> このメソッドは、現在のビューとそのサブビュー階層で、現在ファーストレスポンダであるテキストフィールドを探します。見つかった場合は、そのテキストフィールドに最初のレスポンダとして辞任するように要求します。forceパラメータがtrueに設定されている場合、テキストフィールドは質問されることすらなく、強制的に辞任させられます。
|
21
|
+
> https://developer.apple.com/documentation/uikit/uiview/1619630-endediting
|
22
|
+
|
23
|
+
すごく適当になってしまうかもしれませんが、
|
24
|
+
テキストフィールドにフォーカスがあるときに`endEditing(_:)`を呼び出すと、
|
25
|
+
テキストフィールドからフォーカスを外して、
|
26
|
+
結果的にキーボードを非表示にすることができる、
|
27
|
+
ということだと思います。
|
28
|
+
|
29
|
+
テキストフィールド以外の空いているスペースをタップしても同じでしょうか?
|