(3) プレビュー画面を作るには
(3.1) ContentView()の例
struct ContentView: View {
// こっちは表示用
}
// これでプレビューができる
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
(3.2) LandmarkList()の例
struct LandmarkList: View {
// こっちは表示用
}
// これでプレビューができる
struct LandmarksList_Previews: PreviewProvider {
static var previews: some View {
LandmarkList().environmentObject(UserData())
}
}
// プレビューを2つ表示
struct LandmarksList_Previews: PreviewProvider {
static var previews: some View {
ForEach(["iPhone SE", "iPhone XS Max"], id: \.self) { deviceName in
LandmarkList()
.previewDevice(PreviewDevice(rawValue: deviceName))
.previewDisplayName(deviceName)
}.environmentObject(UserData())
}
}
(3.3) LandmarkDetail()の例
struct LandmarkDetail: View {
// こっちは表示用
}
// これでプレビューができる。表示対象は0番目 landmarks[0]
struct LandmarkDetail_Preview: PreviewProvider {
static var previews: some View {
let userData = UserData()
return LandmarkDetail(landmark: userData.landmarks[0])
.environmentObject(userData)
}
}
(3.4) LandmarkRow()の例
struct LandmarkRow: View {
// こっちは表示用
}
// これでプレビューができる。表示対象は0,1番目
struct LandmarkRow_Previews: PreviewProvider {
static var previews: some View {
Group {
LandmarkRow(landmark: landmarkData[0])
LandmarkRow(landmark: landmarkData[1])
}
.previewLayout(.fixed(width: 300, height: 70))
}
}