跳到正文

SwiftUI

启用 swift-ui crate feature。普通 QuickGUI 组件不需要它。

#Host

构造 MacSwiftUiHost,sync 描述符树,并用 native_view 挂载。

let mut host = MacSwiftUiHost::new(|_id| {})?;
host.sync(&[SwiftUiButton::new(1).label("Continue").into()])?;
native_view(host.view())

#原生控件

按钮、开关、滑块、步进器、进度视图、仪表、文本框和安全输入框、选择器、分段控件、日期选择器和颜色选择器,以及 popover。

#受控值

let mut host = MacSwiftUiHost::new_with_control_events(
    |_id| {},
    |_id, _presented| {},
    |id, value| { /* store value for id */ },
    |_id| {},
)?;
host.sync(&[SwiftUiToggle::new(1, enabled).label("Notifications").into()])?;
native_view(host.view())

#尺寸

MacSwiftUiHost::fitting_size 报告控件的固有尺寸。需要固定宽度时约束父节点。

#平台支持

SwiftUI 托管需要 macOS。Liquid Glass 等可选外观取决于操作系统版本。