使用普通按钮样式时如何将悬停效果限制到按钮内的特定视图

问题描述 投票:0回答:0

我有一个按钮,其中包含一个圆圈和一个文本。我想使用普通按钮样式,以便最初没有可见的边框背景,并且在点击时它会适当缩放。当将鼠标悬停在其上时,我只想让圆圈显示悬停效果。当您将鼠标悬停在圆形上时,这会按预期显示,但当您将鼠标悬停在文本上时,会出现默认的椭圆形按钮悬停效果。如何删除默认按钮悬停效果并仅将其应用于圆形,或者以其他方式将悬停效果限制为仅应用于圆形?

Button(action: action) {
    VStack {
        Circle()
            .frame(width: 100, height: 100)
            .foregroundStyle(.fill.quinary)
            .hoverEffect()
        
        Text("Title")
    }
}
.buttonStyle(.plain)

如果我将

.hoverEffectDisabled()
添加到VStack中,默认的悬停效果仍然会出现,即使将鼠标悬停在圆圈上也会出现。

button swiftui hover visionos
© www.soinside.com 2019 - 2024. All rights reserved.