我想使用这样的搜索按钮制作导航视图:
我使用listRowInsets(EdgeInsets())删除图像的前导和尾随填充。
一切正常,然后再添加搜索按钮:
import SwiftUI
struct demoUI: View {
var body: some View {
NavigationView {
List {
Image("food")
.scaledToFill()
.frame(height: 200)
.clipped()
.listRowInsets(EdgeInsets())
ForEach(0 ..< 5) {_ in
Text("List Item ")
}
}
.navigationTitle(Text("Featured"))
}
}
}
struct demoUI_Previews: PreviewProvider {
static var previews: some View {
demoUI()
}
}
但是当我将图标添加到导航栏中时,填充再次显示:
struct demoUI: View {
var body: some View {
NavigationView {
List {
Image("food")
.scaledToFill()
.frame(height: 200)
.clipped()
.listRowInsets(EdgeInsets())
ForEach(0 ..< 5) {_ in
Text("List Item ")
}
}
.navigationTitle(Text("Featured"))
.navigationBarItems(trailing: Image(systemName: "magnifyingglass.circle").imageScale(.large))
}
}
}
我的Xcode版本是12.1(12A7403)。 这是错误还是预期的结果?
答案 0 :(得分:1)
明确使用列表样式
List {
Image("food")
.scaledToFill()
.frame(height: 200)
.clipped()
.listRowInsets(EdgeInsets())
ForEach(0 ..< 5) {_ in
Text("List Item ")
}
}.listStyle(PlainListStyle()) // << here !!