透明款header?
Transparent section header?
我正在创建具有透明行和部分 header 的透明 List
。
但是,一旦行在部分 header 下滑动,它 就会自动具有背景模糊效果 。我理解这种情绪,但我想退出。
有没有人设法以某种方式隐藏它?让 header 部分的背景完全透明?
struct HeaderView: View {
var body: some View {
ZStack {
Image("Map")
.opacity(0.5)
List {
Section(
header: VStack {
Text("Section 1")
.font(.system(size: 40))
.frame(height: 60)
},
content: {
ForEach(1...20, id: \.self) { eachRowIndex in
Text("Row \(eachRowIndex)")
.listRowBackground(Color.clear)
}
}
)
}
.listStyle(.plain)
.padding(.top, 40)
}
}
}
最好是iOS 13 SwiftUI,但我很好奇UIKit中是否也有与之相关的东西。
将空视图添加到 UITableViewHeaderFooterView
struct HeaderView: View {
init() {
UITableViewHeaderFooterView.appearance().backgroundView = UIView() // here
}
// Other code
对于 iOS 13,我还需要反思 UITableViewHeaderFooterView
, and set backgroundView
manually there (which needs an Introspect 扩展。
struct ContentView: View {
init() {
UITableViewHeaderFooterView.appearance().backgroundView = UIView()
}
var body: some View {
List {
Section(
header: HStack {
...
}
.introspectTableViewHeaderFooterView {
[=10=].backgroundView = UIView()
},
content: {
ForEach {
...
}
}
)
}
.listStyle(.plain)
}
}
extension View {
public func introspectTableViewHeaderFooterView(customize: @escaping (UITableViewHeaderFooterView) -> Void) -> some View {
introspect(selector: TargetViewSelector.ancestorOrSiblingContaining, customize: customize)
}
}
我正在创建具有透明行和部分 header 的透明 List
。
但是,一旦行在部分 header 下滑动,它 就会自动具有背景模糊效果 。我理解这种情绪,但我想退出。
有没有人设法以某种方式隐藏它?让 header 部分的背景完全透明?
struct HeaderView: View {
var body: some View {
ZStack {
Image("Map")
.opacity(0.5)
List {
Section(
header: VStack {
Text("Section 1")
.font(.system(size: 40))
.frame(height: 60)
},
content: {
ForEach(1...20, id: \.self) { eachRowIndex in
Text("Row \(eachRowIndex)")
.listRowBackground(Color.clear)
}
}
)
}
.listStyle(.plain)
.padding(.top, 40)
}
}
}
最好是iOS 13 SwiftUI,但我很好奇UIKit中是否也有与之相关的东西。
将空视图添加到 UITableViewHeaderFooterView
struct HeaderView: View {
init() {
UITableViewHeaderFooterView.appearance().backgroundView = UIView() // here
}
// Other code
对于 iOS 13,我还需要反思 UITableViewHeaderFooterView
, and set backgroundView
manually there (which needs an Introspect 扩展。
struct ContentView: View {
init() {
UITableViewHeaderFooterView.appearance().backgroundView = UIView()
}
var body: some View {
List {
Section(
header: HStack {
...
}
.introspectTableViewHeaderFooterView {
[=10=].backgroundView = UIView()
},
content: {
ForEach {
...
}
}
)
}
.listStyle(.plain)
}
}
extension View {
public func introspectTableViewHeaderFooterView(customize: @escaping (UITableViewHeaderFooterView) -> Void) -> some View {
introspect(selector: TargetViewSelector.ancestorOrSiblingContaining, customize: customize)
}
}