繁体   English   中英

SwiftUI:如何将.clipShape应用到.hoverEffect?

[英]SwiftUI: How to apply .clipShape to .hoverEffect?

我正在使用.hoverEffect修饰符。 当用户将鼠标/触控板指针放在我的按钮上时,它会向我的按钮添加 hover 效果:

import SwiftUI

struct ContentView: View {
    var body: some View {
        Button("Hello world") {
            // Action…
        }
        .padding()
        .background(Color.blue)
        .foregroundColor(.white)
        .hoverEffect(.lift) // ← Hover effect
        .clipShape(Capsule())
    }
}

但是,当我将剪辑形状应用于按钮(例如RoundedRectangleCapsule )时,视图会被剪辑,但 hover 效果不会。

具有悬停效果的按钮

我怎样才能有一个与按钮形状相匹配的 hover 效果?

使用.contentShape(Capsule())更改 hover 效果的形状以匹配您的clipShape 请注意,此修饰符也会影响命中测试区域,这在大多数类似于您自己的示例中可能是可取的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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