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

質問編集履歴

2

より細かく書きました

2019/10/28 08:21

投稿

SwiftGanbaruMan
SwiftGanbaruMan

スコア10

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,6 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- NavigationLinkを用いてViewを遷移した際に別のアクションを行たいですが、うまくいきません
3
+ NavigationLinkを用いてViewを遷移した際にメソッドたいです。
4
4
 
5
5
  ### 該当のソースコード
6
6
 
@@ -8,14 +8,31 @@
8
8
 
9
9
  ```ここに言語を入力
10
10
  NavigationLink(destination: 遷移先のView) {
11
- Text("次へ").onTapGesture {
11
+ Text("次へ").onTapGesture(perfome: 実行したいメソッド)
12
- 行いたい処理
13
- }
14
12
  }
15
13
  ```
16
14
 
17
- 調べてみたところ上記の実装でいけそうだっのですが、
15
+ 調べてみたところ上記の実装でいけるかなと思い実行してみましたが、
18
- ボタンを押下することはでき、クリックするとアクションは実行されますが、
16
+ ボタンを押下することはでき、クリックするとメソッドは実行されますが、
19
17
  画面遷移(NavigationLinkで指定したViewへの移動)が行われません。
18
+ onTapGestureでNavigationLinkの処理が上書きされてしまったイメージです。
20
19
 
20
+ これがダメならと次の実装も試してみました
21
+ ```ここに言語を入力
22
+ NavigationLink(destination: 遷移先のView) {
23
+ Button (action: 実行したいメソッド) {
24
+ Texr("次へ")
25
+ }
26
+ }
27
+ ```
28
+
29
+ これもonTapGestureと同様にメソッドは実行されますがViewの遷移ができません。
30
+
31
+ NavigationLinkのイニシャライザにメソッドを与えてあげればいけるかと思い調べてみましたが、
32
+ そのようなイニシャライザは見当たらず…
33
+
21
- このような実装を行たい場合、どのような実装を行うべきなのでしょうか?(onTapGestureではできない?)
34
+ View遷移時にメソッドたい場合、どのような実装を行うべきなのでしょうか?
35
+ NavigationLink構造体以外に実装可能な方法があるのでしょうか?
36
+ それとも自分でNavigationLinkを拡張してあげないといけないのでしょうか?
37
+
38
+ SwiftUIに知見をお持ちの方、お助けください…m(__)m

1

少し追記

2019/10/28 08:21

投稿

SwiftGanbaruMan
SwiftGanbaruMan

スコア10

title CHANGED
@@ -1,1 +1,1 @@
1
- NavigationLinkを用いてViewを遷移した際に別のアクションを実行
1
+ NavigationLinkを用いてViewを遷移した際に別のアクションを実行する方法
body CHANGED
@@ -18,4 +18,4 @@
18
18
  ボタンを押下することはでき、クリックするとアクションは実行されますが、
19
19
  画面遷移(NavigationLinkで指定したViewへの移動)が行われません。
20
20
 
21
- このような実装を行いたい場合、どのクロージャ使用するべきなのでしょうか?
21
+ このような実装を行いたい場合、どのような実装行うべきなのでしょうか?(onTapGestureではできない?)