SwiftUIの学習に使用している2つの個別のXcodeプロジェクトがあります。
次のコードは、マスター詳細ビューを持つ単純なNavigationView
を作成します。
import SwiftUI
struct ListView : View {
var body: some View {
NavigationView {
List() {
NavigationButton(destination: Text("detail 1")) {
Text("row 1")
}
NavigationButton(destination: Text("detail 2")) {
Text("row 2")
}
}
}
}
}
#if DEBUG
struct ListView_Previews : PreviewProvider {
static var previews: some View {
ListView()
}
}
#endif
IOSで期待どおりに動作しますか????
しかし、macOSプロジェクトでは、上記と同じコードが同じように機能しません????
Macでアプリを起動すると、このウィンドウが表示されます
そして、任意の行をクリックすると、詳細ビューが折りたたまれたり消えたりするだけで、詳細ビューは表示されません。
これを修正する方法はありますか?多分私は何かが足りないのですか?または、これは単なるバグですか?
私には答えはありませんが、同じことをしようとしていますが、追加する観察結果がいくつかあります。おそらくそれらは役立つでしょう:
宛先ビューを追加します。
NavigationButton(destination: DetailView()) {
Text("Show Detail")
}
NavigationViewで幅を設定すると、右側のビューが消えなくなります。
また、追加
.onAppear { print("DetailView called") }
詳細ビューを見ると、表示されていなくても、ボタンがクリックされたときに実際にビューが呼び出されることがわかります。
編集:それはそこにあります!ビューは仕切りによって非表示になりました。左にドラッグして詳細ビューを表示します。
編集2:Xcodeベータ2で、「「NavigationView」はmacOSでは使用できません」というメッセージが表示されます。