Apple開発者のWebサイトにアクセスして、以下のチュートリアルプロジェクトをダウンロードしてください:
https://developer.Apple.com/tutorials/swiftui/building-lists-and-navigation
これをiPadシミュレーターで実行すると、空白のページが表示されますが、コードはMac/iPhoneと私の実際のiPhoneデバイスのシミュレーターで正常に動作します。
これは間違いなくバグです。私はAppleに報告しました。この問題を言った私のようなPPLをここに投稿します。PLSはリセットシミュレータで時間を無駄にせず、コードをチェックし、ラップトップを再起動し、=まで待機しますAppleこれを修正します。
import SwiftUI
struct LandmarkList: View {
var body: some View {
NavigationView {
List(landmarkData) { landmark in
NavigationLink(destination: LandmarkDetail(landmark: landmark)) {
LandmarkRow(landmark: landmark)
}
}
.navigationBarTitle(Text("Landmarks"))
}
}
}
struct LandmarkList_Previews: PreviewProvider {
static var previews: some View {
ForEach(["iPhone SE", "iPhone XS Max"], id: \.self) { deviceName in
LandmarkList()
.previewDevice(PreviewDevice(rawValue: deviceName))
.previewDisplayName(deviceName)
}
}
}
私が最初にiPadで自分のアプリを見たとき、私も延期されました。しかし、List
のすべての画面を無駄にしないことが理にかなっていることに気付いたので、最初の項目をデフォルトで詳細ビューに表示します。
var body: some View {
NavigationView {
// Main view (by default shows on iPhone but not on iPad)
VStack{
List {
ForEach(viewModel.arPictures, id: \.date) { potd in
NavigationLink(destination: POTDDetailView(potd: potd)) {
Text(potd.title ?? "")
}
}
}
}.navigationBarTitle(Text("Last 8 days pictures"), displayMode: .inline)
// Detail view (by default shows on iPad but not on iPhone)
if (!viewModel.arPictures.isEmpty){
POTDDetailView(potd: viewModel.arPictures[0])
}
}
}