SwiftUI鼠标悬停onHover
SwiftUI鼠标悬停onHover

SwiftUI鼠标悬停onHover

onHover 是 SwiftUI 提供的用于 macOS 的修饰符,用于响应鼠标悬停事件。

基本语法

.onHover { isHovering in
    // 当鼠标进入视图区域时 isHovering = true
    // 当鼠标离开视图区域时 isHovering = false
}

使用示例

1、鼠标悬浮变色

struct HoverText: View {
    @State private var hovering = false

    var body: some View {
        Text("悬停试试")
            .padding()
            .background(hovering ? Color.blue : Color.gray)
            .cornerRadius(8)
            .onHover { inside in
                hovering = inside
            }
    }
}

当鼠标放到对应的图片上时,设置悬浮索引并显示放大按钮。

注意事项

1、仅支持 macOS:onHover 只在 macOS 上有效,iOS 上不响应。

2、View 必须有实际尺寸:如果 View 太小或透明,鼠标可能检测不到。

3、常配合 ZStack 使用:用于悬浮时显示叠加图标或信息(如 +、按钮、遮罩等)。

4、配合overlay:onHover需要在overlay后面修饰,否则会导致悬浮判断异常,出现闪烁的情况。

总结

onHover鼠标悬停,常用于图片/文件列表悬浮时,显示操作图标,鼠标经过变色、变亮等场景。

   

如果您认为这篇文章给您带来了帮助,您可以在此通过支付宝或者微信打赏网站开发者。

欢迎加入我们的 微信交流群QQ交流群,交流更多精彩内容!
微信交流群二维码 QQ交流群二维码

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注