@FocusSate u=in Scrool View iOS18 only

In iOS18, when a button using @FocusSate is inside a ScrollView and if this view is getting opened via NavigationLink,

The button is not accessible via Bluetooth (external) keyboard)

Is this a known isssue in iOS18

here is the // // ContentView.swift // TestBTKeyboard //

import SwiftUI

struct ContentView: View { @State private var showBottomSheet: Bool = false @State private var goToNextView: Bool = false @FocusState private var focused: Bool @AccessibilityFocusState private var voFocused: Bool

var body: some View {
    NavigationView {
        VStack {
            Text("Hello, world!")
            // This button works fine in Bluetooth keyboard in all versions
            Button("Trigger a bottomsheet") {
                showBottomSheet = true
            }
            .focused($focused)
            .accessibilityFocused($voFocused)
            Button("Goto another view") {
                goToNextView = true
            }
            NavigationLink(
                destination: View2(),
                isActive: $goToNextView
            ) { EmptyView() }
                .accessibility(hidden: true)
        }
        .sheet(isPresented: $showBottomSheet,
               onDismiss: {
            focused = true
            voFocused = true
        }, content: {
            VStack() {
                Text("Hello World ! I'm in a bottomsheet")
                Button("Close me") {
                    showBottomSheet = false
                }
            }
        })
        .padding()
    }
}

}

#Preview { ContentView() }

struct View2: View { @FocusState private var focused: Bool @AccessibilityFocusState private var voFocused: Bool @State private var showBottomSheet: Bool = false

var body: some View {
    ScrollView {
        VStack {
            Text("check")
            // In iOS18, this button doesn't get focused in Bluetooth / external keyboard
            // This issue occurs when these 3 combine in iOS 18 - a button using FocusState inside a view that has a ScrollView & it is opened via NavigationLink
            Button("Trigger a bottomsheet") {
                showBottomSheet = true
            }
            .focused($focused)
            .accessibilityFocused($voFocused)
            Button("Test button") { }
        }
        .sheet(isPresented: $showBottomSheet,
               onDismiss: {
            focused = true
            voFocused = true
        }, content: {
            VStack() {
                Text("Hello World ! I'm in a bottomsheet")
                Button("Close me") {
                    showBottomSheet = false
                }
            }
        })
        .padding()
    }
}

}scrp

@FocusSate u=in Scrool View iOS18 only
 
 
Q