如何正确地将 ImagePicker 插入 header 中的图像?斯威夫特用户界面
How do I correctly insert ImagePicker to image in header? SwiftUI
我是编程和 SwiftUI 的新手,非常感谢您的帮助。
我在我的 header 上放置了一个相机图标以打开一个操作 sheet 让用户 select 相机或照片库。
之后我使用 VStack 将所有元素组合在一起。现在的问题是,当 ImagePicker 加载时,它只显示了一半的屏幕。我怀疑这是因为 Vstack。知道如何解决这个问题并使图像选择器加载整个屏幕吗?谢谢大家。
struct FeedView: View {
var body: some View {
VStack(spacing: 20) {
Header()
ScrollView(showsIndicators: false) {
PostView()
PostView()
}
}
}
}
struct Header: View {
// For Camera Actionsheet
@State var showActionView: Bool = false
@State var isShown: Bool = false
HStack {
// Camera
CameraButtonView(showActionSheet: $showActionView)
Spacer()
Image("logo")
.resizable()
.frame(width: 150, height: 30)
}.actionSheet(isPresented: $showActionView, content: { () -> ActionSheet in
ActionSheet(
title: Text("Select image"), message: Text("Please select an image from the photo gallery or use your camera"), buttons: [
ActionSheet.Button.default(Text("Camera"), action: {
}),
ActionSheet.Button.default(Text("Photo Gallery"), action: {
self.isShown.toggle()
}),
ActionSheet.Button.cancel()
])
})
if isShown {
ImagePicker()
}
}
您可能应该像这样在 sheet 中展示您的 ImagePicker:
HStack {
// your code
}
.sheet(isPresented: $isShown) {
ImagePicker()
}
我是编程和 SwiftUI 的新手,非常感谢您的帮助。
我在我的 header 上放置了一个相机图标以打开一个操作 sheet 让用户 select 相机或照片库。
之后我使用 VStack 将所有元素组合在一起。现在的问题是,当 ImagePicker 加载时,它只显示了一半的屏幕。我怀疑这是因为 Vstack。知道如何解决这个问题并使图像选择器加载整个屏幕吗?谢谢大家。
struct FeedView: View {
var body: some View {
VStack(spacing: 20) {
Header()
ScrollView(showsIndicators: false) {
PostView()
PostView()
}
}
}
}
struct Header: View {
// For Camera Actionsheet
@State var showActionView: Bool = false
@State var isShown: Bool = false
HStack {
// Camera
CameraButtonView(showActionSheet: $showActionView)
Spacer()
Image("logo")
.resizable()
.frame(width: 150, height: 30)
}.actionSheet(isPresented: $showActionView, content: { () -> ActionSheet in
ActionSheet(
title: Text("Select image"), message: Text("Please select an image from the photo gallery or use your camera"), buttons: [
ActionSheet.Button.default(Text("Camera"), action: {
}),
ActionSheet.Button.default(Text("Photo Gallery"), action: {
self.isShown.toggle()
}),
ActionSheet.Button.cancel()
])
})
if isShown {
ImagePicker()
}
}
您可能应该像这样在 sheet 中展示您的 ImagePicker:
HStack {
// your code
}
.sheet(isPresented: $isShown) {
ImagePicker()
}