mirror of
https://github.com/yattee/yattee.git
synced 2026-02-20 01:39:46 +00:00
Yattee v2 rewrite
This commit is contained in:
41
Yattee/Views/Components/AirPlayButton.swift
Normal file
41
Yattee/Views/Components/AirPlayButton.swift
Normal file
@@ -0,0 +1,41 @@
|
||||
//
|
||||
// AirPlayButton.swift
|
||||
// Yattee
|
||||
//
|
||||
// SwiftUI wrapper for AVRoutePickerView to show AirPlay device selection.
|
||||
//
|
||||
|
||||
import AVKit
|
||||
import SwiftUI
|
||||
|
||||
#if os(iOS)
|
||||
import UIKit
|
||||
|
||||
struct AirPlayButton: UIViewRepresentable {
|
||||
var tintColor: UIColor = .white
|
||||
|
||||
func makeUIView(context: Context) -> AVRoutePickerView {
|
||||
let routePicker = AVRoutePickerView()
|
||||
routePicker.tintColor = tintColor
|
||||
routePicker.activeTintColor = .systemBlue
|
||||
return routePicker
|
||||
}
|
||||
|
||||
func updateUIView(_ uiView: AVRoutePickerView, context: Context) {
|
||||
uiView.tintColor = tintColor
|
||||
}
|
||||
}
|
||||
|
||||
#elseif os(macOS)
|
||||
import AppKit
|
||||
|
||||
struct AirPlayButton: NSViewRepresentable {
|
||||
func makeNSView(context: Context) -> AVRoutePickerView {
|
||||
let routePicker = AVRoutePickerView()
|
||||
routePicker.isRoutePickerButtonBordered = false
|
||||
return routePicker
|
||||
}
|
||||
|
||||
func updateNSView(_ nsView: AVRoutePickerView, context: Context) {}
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user