mirror of
https://github.com/yattee/yattee.git
synced 2025-08-05 02:04:07 +00:00
Fix tvOS controls overlay buttons
This commit is contained in:
28
tvOS/ControlsOverlayButton.swift
Normal file
28
tvOS/ControlsOverlayButton.swift
Normal file
@@ -0,0 +1,28 @@
|
||||
import SwiftUI
|
||||
|
||||
struct ControlsOverlayButton<LabelView: View>: View {
|
||||
var focusedField: FocusState<ControlsOverlay.Field?>.Binding
|
||||
var field: ControlsOverlay.Field
|
||||
let label: LabelView
|
||||
|
||||
init(
|
||||
focusedField: FocusState<ControlsOverlay.Field?>.Binding,
|
||||
field: ControlsOverlay.Field,
|
||||
@ViewBuilder label: @escaping () -> LabelView
|
||||
) {
|
||||
self.focusedField = focusedField
|
||||
self.field = field
|
||||
self.label = label()
|
||||
}
|
||||
|
||||
var body: some View {
|
||||
label
|
||||
.padding()
|
||||
.frame(width: 400)
|
||||
.focusable()
|
||||
.focused(focusedField, equals: field)
|
||||
.background(focusedField.wrappedValue == field ? Color.white : Color.secondary)
|
||||
.foregroundColor(focusedField.wrappedValue == field ? Color.black : Color.white)
|
||||
.clipShape(RoundedRectangle(cornerRadius: 4))
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user