ios - SwiftUI:如何将 .clipShape 应用于 .hoverEffect?
问题描述
我正在使用.hoverEffect
修饰符。当用户将鼠标/触控板指针放在我的按钮上时,它会为我的按钮添加悬停效果:
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())
}
}
但是,当我将剪辑形状应用于按钮(例如RoundedRectangle
或Capsule
)时,视图会被剪辑,但悬停效果不会。
如何获得与按钮形状相匹配的悬停效果?
解决方案
用于.contentShape(Capsule())
更改悬停效果的形状以匹配您的clipShape
. 请注意,此修饰符也会影响命中测试区域,这在大多数类似于您自己的示例中可能是可取的。
推荐阅读
- java - NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)
- django - 如何在 django 序列化程序中只添加一次数据
- discord.js - 如何使用 discord.js 向用户发送 DM?
- javascript - 内容脚本未在 Google 工作表上加载
- flutter - 如何在颤动的两个不同屏幕上使用相同的块?
- c# - 在 EF Core 3.1 中执行 UPDATE - OUTPUT 查询
- html - 带有 rails_blob_path 的 url 活动存储在元标记中是否有效
- r - tidyr unnest,在取消嵌套时使用嵌套名称为列名添加前缀
- sql - 计算行和列中值的频率 SQL
- css - 增加反应原生文本输入的高度和底部输入推送的文本?