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

質問編集履歴

4

前提・実現したいことに追記しました

2020/06/23 04:13

投稿

MrYamamoto
MrYamamoto

スコア0

title CHANGED
File without changes
body CHANGED
@@ -3,7 +3,8 @@
3
3
  特定の機種で画面回転後、Form内NavigationLinkがおかしな挙動になります。
4
4
  この問題さえ解決できればSwiftUIでアプリをリリースしたいと考えております。
5
5
  何か対処方法はありませんでしょうか?
6
-
6
+ 回転動作可能なiPhoneアプリの設定画面などはこの問題が発生しうると認識しています。
7
+ 動作を完全に改善するのは難しいとしても、こんなふうに凌いでいるなど、対処療法的なアイデアでも頂戴できれば大変ありがたいです。
7
8
  ### 発生している問題・エラーメッセージ
8
9
  NavigationView内にForm、そのFormの中にNavigationLinkを設置して、次のViewに遷移しています。
9
10
  この状態で、iPhone8 Plus等のPlus系もしくは11 Pro Max等のMax系の端末にて画面を回転させた後に、このNavigationLinkをタップすると、

3

タイトルに[]をつけるのが一般的なようなのでその例に倣いました

2020/06/23 04:13

投稿

MrYamamoto
MrYamamoto

スコア0

title CHANGED
@@ -1,1 +1,1 @@
1
- 特定機種でSwiftUIのNavigationView回転後の挙動がおかしい
1
+ [SwiftUI]特定機種でNavigationView回転後の挙動がおかしい
body CHANGED
File without changes

2

コードだけではわかりづらいため、実行時アニメーションGIFを追加しました

2020/06/05 03:22

投稿

MrYamamoto
MrYamamoto

スコア0

title CHANGED
File without changes
body CHANGED
@@ -9,8 +9,9 @@
9
9
  この状態で、iPhone8 Plus等のPlus系もしくは11 Pro Max等のMax系の端末にて画面を回転させた後に、このNavigationLinkをタップすると、
10
10
  90度回転させた回数分だけ同じViewが何度もpushされるおかしな挙動になってしまいます。
11
11
 
12
+ ![実行イメージ](6492033513d1b341f749a8d9d154369e.gif)
13
+
12
- Plus系、Max系以外のiPhoneではこのような挙動にはなりません
14
+ Plus系、Max系以外のiPhoneではこのような挙動にはなりません
13
-
14
15
  下記数行のコードをMax系Plus系シミュレータで実行、回転動作してリンクをタップするだけで簡単に再現できます。
15
16
  また、この素朴なサンプルではなくても、NavigationView内にForm、Form内からNavigationLinkの関係ですと今のところ100%この現象が発生します。
16
17
  この内容がFormではなく通常のListではこの問題は発生しません。

1

誤字を修正し、挙動を再現する方法を具体的に補足しました。

2020/06/05 02:46

投稿

MrYamamoto
MrYamamoto

スコア0

title CHANGED
File without changes
body CHANGED
@@ -2,14 +2,19 @@
2
2
  SwiftUIで設定画面などの簡単なフォーム画面の作成
3
3
  特定の機種で画面回転後、Form内NavigationLinkがおかしな挙動になります。
4
4
  この問題さえ解決できればSwiftUIでアプリをリリースしたいと考えております。
5
- 何か対方法はありませんでしょうか?
5
+ 何か対方法はありませんでしょうか?
6
6
 
7
7
  ### 発生している問題・エラーメッセージ
8
8
  NavigationView内にForm、そのFormの中にNavigationLinkを設置して、次のViewに遷移しています。
9
- この状態で、iPhone8 Plus等のPlus系もしくは11 Pro Max等のMax系の端末にて画面を回転させた後に、このNavifationLinkをタップすると、
9
+ この状態で、iPhone8 Plus等のPlus系もしくは11 Pro Max等のMax系の端末にて画面を回転させた後に、このNavigationLinkをタップすると、
10
10
  90度回転させた回数分だけ同じViewが何度もpushされるおかしな挙動になってしまいます。
11
11
 
12
- Plus系、Max系以外のiPhoneではこのような挙動にはなりません
12
+ Plus系、Max系以外のiPhoneではこのような挙動にはなりません
13
+
14
+ 下記数行のコードをMax系Plus系シミュレータで実行、回転動作してリンクをタップするだけで簡単に再現できます。
15
+ また、この素朴なサンプルではなくても、NavigationView内にForm、Form内からNavigationLinkの関係ですと今のところ100%この現象が発生します。
16
+ この内容がFormではなく通常のListではこの問題は発生しません。
17
+ Listに.listStyle(GroupedListStyle())を設定すると(見た目的にFormに近い状態になります)この問題は発生します。
13
18
 
14
19
  ### 該当のソースコード
15
20