gpt4 book ai didi

swiftui - 如何在工作 TableView 上制作不透明的背景颜色?

转载 作者:行者123 更新时间:2023-12-03 22:52:58 26 4
gpt4 key购买 nike

我目前正在使用 SwiftUI 开发应用程序。
我正在寻找某种方法在工作表 View 上制作具有不透明度的背景颜色。
有没有办法做到这一点?

我已经尝试使用下面的代码来做到这一点,我可以使用 opacity 属性更改颜色,但是我在工作表 View 下看不到文本(工作表)...

import SwiftUI

struct ContentView: View {

@State var isSheet = false

var body: some View {

Button(action: {self.isSheet.toggle()}) {
Text("Sheet")
}.sheet(isPresented: $isSheet){
Color.yellow.opacity(0.5)
}
}
}

struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}

Xcode:版本 11.7
swift : swift 5

最佳答案

您无法使用标准工作表官方 API(因为默认情况下每个托管 Controller View 都是不透明的),因此您可以创建自定义工作表 View (具有您需要的任何功能)或使用运行时解决方法来查找该 View 并设置其背景清除。如下图(仅用于演示)
demo

struct DemoView: View {

@State var isSheet = false

var body: some View {

Button(action: {self.isSheet.toggle()}) {
Text("Sheet")
}.sheet(isPresented: $isSheet){
Color.yellow.opacity(0.5)
.background(BackgroundClearView())
}
}
}

struct BackgroundClearView: UIViewRepresentable {
func makeUIView(context: Context) -> UIView {
let view = UIView()
DispatchQueue.main.async {
view.superview?.superview?.backgroundColor = .clear
}
return view
}

func updateUIView(_ uiView: UIView, context: Context) {}
}

关于swiftui - 如何在工作 TableView 上制作不透明的背景颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63745084/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com