SwiftUI 中 Button 和 Image 的可点击区域
Posted
技术标签:
【中文标题】SwiftUI 中 Button 和 Image 的可点击区域【英文标题】:Tappable area of Button and Image in SwiftUI 【发布时间】:2021-03-22 21:31:08 【问题描述】:
Button(action:
print("Round Action")
)
Text("Press")
.frame(width: 50, height: 50)
.foregroundColor(Color.black)
.background(Color.red)
.clipShape(Circle())
.background(Color.blue)
我希望实际的按钮是可点击的,而不是它周围的蓝色方形框,还有什么方法可以让我们摆脱那个框但仍然可以调整那个按钮的大小?
Button Image
【问题讨论】:
这能回答你的问题吗? Issue with Buttons in SwiftUI on MacOS 【参考方案1】:你需要为你的Button设置.contentShape
,默认是Rectangle
:
Button(action:
print("Round Action")
)
Text("Press")
.frame(width: 150, height: 150)
.foregroundColor(Color.black)
.background(Color.red)
.clipShape(Circle())
.contentShape(Circle()) // <- here
.background(Color.blue)
有什么方法可以让我们摆脱那个框架但仍然可以调整那个按钮的大小?
您可以尝试使用padding
或scaleEffect
,但frame
是更改视图宽度和高度的推荐方式。
【讨论】:
以上是关于SwiftUI 中 Button 和 Image 的可点击区域的主要内容,如果未能解决你的问题,请参考以下文章