带有常规文本的 SwiftUI 低不透明度按钮
Posted
技术标签:
【中文标题】带有常规文本的 SwiftUI 低不透明度按钮【英文标题】:SwiftUI low opacity button with regular text 【发布时间】:2021-03-11 10:14:34 【问题描述】:我正在使用 SwiftUI 构建一个应用程序,但确实遇到了一些不便。我正在使用带有带有文本的导航链接的按钮来导航到不同的页面。我需要圆圈具有低不透明度,以便您仍然可以查看它们,但是当我这样做时,文本也会立即变为低不透明度。如何防止文本改变不透明度(或保持正常不透明度)。
Button(action:
print("Floating Button Click")
, label:
NavigationLink(destination: QuestionView(bodyPart: bodyPart, caseData: CaseData(bodyPart: bodyPart)))
Text(String(describing: bodyPart.rawValue))
.foregroundColor(.white)
.frame(width: size, height: size, alignment: .center)
)
.background(Color.blue)
.opacity(0.5)
.clipShape(Circle())
我已经尝试为文本赋予自己的不透明度,但这并没有做任何事情,因为它仍然会被覆盖。
有没有人对此有解决方案,我期待看到任何答案。
【问题讨论】:
【参考方案1】:您只需像这样对背景应用不透明度:
.background(Color.blue.opacity(0.5))
而不是整个View
,就像这样:
.background(Color.blue)
.opacity(0.5)
【讨论】:
感谢您的解决方案,我自己也想不出这个,但这似乎是一个相当容易解决的问题。我会将其标记为已解决。以上是关于带有常规文本的 SwiftUI 低不透明度按钮的主要内容,如果未能解决你的问题,请参考以下文章