Skip to content

Modifiers & Hosting

Modifiers style native SwiftUI controls. Reverse hosting puts QuickGUI content inside SwiftUI.

#Modifiers

Import factories from @quickgui/solid/swift-ui/modifiers and pass them in order.

<Button
  label="Create project"
  modifiers={[buttonStyle("borderedProminent"), controlSize("large"), tint("#f97316")]}
/>

They include control size, tint, disabled state, label style, button border shape, and button style.

#Liquid Glass

<Button label="Continue" modifiers={[buttonStyle("glass"), controlSize("large")]} />

macOS draws glass where it is available.

#Reverse hosting

<Host matchContents>
  <QuickGUIHostView width={320} height={180}>
    <View style={{ padding: 16 }}><Text>QuickGUI inside SwiftUI</Text></View>
  </QuickGUIHostView>
</Host>

#SwiftUI popover

Use Popover.Trigger with a SwiftUI control and Popover.Content for the presented UI. A QuickGUIHostView inside that content hosts ordinary QuickGUI children.

#Lifetime

An embedded host closes with its owner. Unmounting removes the native view; do not keep a detached host through a global subscription.