Vue et modificateur qui peuvent être utilisés en important divers frameworks en plus de SwiftUI.
MapKit
Vous pouvez utiliser Map
.
import SwiftUI
import MapKit
struct SwiftUIView: View {
@State var region: MKCoordinateRegion
var body: some View {
Map(coordinateRegion: $region)
}
}
struct SwiftUIView_Previews: PreviewProvider {
static var previews: some View {
let initialCoordinate = CLLocationCoordinate2DMake(40,40)
let span = MKCoordinateSpan(latitudeDelta: 0.5, longitudeDelta: 0.5)
let region = MKCoordinateRegion(center: initialCoordinate, span: span)
return SwiftUIView(region: region)
}
}
SpriteKit
Vous pouvez utiliser SpriteView
.
Le fichier GameScene
est celui utilisé lors de la création du projet Xcode avec Multiplatform.
import SwiftUI
import SpriteKit
struct SwiftUIView: View {
let scene: SKScene
var body: some View {
SpriteView(scene: scene)
}
}
struct SwiftUIView_Previews: PreviewProvider {
static var previews: some View {
guard let scene = SKScene(fileNamed: "GameScene") as? GameScene else {
abort()
}
scene.scaleMode = .aspectFit
return SwiftUIView(scene: scene)
}
}
AuthenticationServices
Vous pouvez utiliser SignInWithAppleButton
.
import SwiftUI
import AuthenticationServices
struct SwiftUIView: View {
var body: some View {
SignInWithAppleButton(.continue) { _ in
} onCompletion: { _ in
}
.frame(width: 300.0, height: 44.0)
.signInWithAppleButtonStyle(.black)
}
}
struct SwiftUIView_Previews: PreviewProvider {
static var previews: some View {
SwiftUIView()
}
}
StoreKit
Vous pouvez utiliser appStoreOverlay
.
import SwiftUI
import StoreKit
struct SwiftUIView: View {
@State var showOverlay:Bool = false
var body: some View {
Button("App Store Overlay") {
self.showOverlay.toggle()
}
.appStoreOverlay(isPresented: $showOverlay) {
SKOverlay.AppConfiguration(appIdentifier: "687721425", position: .bottom)
}
}
}
struct SwiftUIView_Previews: PreviewProvider {
static var previews: some View {
return SwiftUIView()
}
}
AVKit
Vous pouvez utiliser VideoPlayer
.
Le document dit «Une vue qui affiche le contenu vidéo d'un objet lecteur avec les commandes de lecture fournies par le système», mais avec tvOS, on a l'impression qu'il n'y a aucun contrôle.
import SwiftUI
import AVKit
struct SwiftUIView: View {
let player: AVPlayer?
var body: some View {
VideoPlayer(player: player)
}
}
struct SwiftUIView_Previews: PreviewProvider {
static var previews: some View {
return SwiftUIView(player: AVPlayer(url: URL(string: "http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8")!))
}
}
SceneKit
Vous pouvez utiliser SceneView
. Veuillez préparer votre propre fichier scn.
import SwiftUI
import SceneKit
struct SwiftUIView: View {
let scene: SCNScene?
var body: some View {
SceneView(scene: scene)
}
}
struct SwiftUIView_Previews: PreviewProvider {
static var previews: some View {
let scene = SCNScene(named: "Scene.scn")
return SwiftUIView(scene: scene)
}
}
HomeKit
Vous pouvez utiliser CameraView
.
Vous aurez besoin de HMCameraSource
, mais il n'est probablement pas disponible dans SwiftUI Preview, veuillez donc le vérifier vous-même.
import SwiftUI
import HomeKit
struct SwiftUIView: View {
let cameraSource:HMCameraSource
var body: some View {
CameraView(source: cameraSource)
}
}
WatchKit
Vous pouvez utiliser NowPlayingView
.
import SwiftUI
import WatchKit
struct SwiftUIView: View {
var body: some View {
NowPlayingView()
}
}
struct SwiftUIView_Previews: PreviewProvider {
static var previews: some View {
SwiftUIView()
}
}
Utilisons-le! HomeKit!