简体   繁体   中英

SwiftUI: contentShape not affecting onHover area

I thought contentShape() would affect the hover "area" the same way it affects the clickable area.

The following image is an example where the hover should not be triggered.

示例图片

Full example code:

struct ContentView: View {
    
    @State var hovering: Bool = false
    
    var body: some View {
        Rectangle()
            .frame(width: 120, height: 120)
            .foregroundColor(hovering ? Color.white : Color.red)
            .clipShape(Circle())
            .contentShape(Circle())
            .onHover { hovering in
                self.hovering = hovering
            }
            .onTapGesture {
                print("Click")
            }
            .padding(24)
        
    }
}

Is there a way to clip the hover area like the click area?

Add a clear background that cancels the hover value on hover. It's not going to be perfect as mouse tracking in SwiftUI has lag errors.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM