Как правильно вставить ImagePicker в изображение в заголовке? SwiftUI - PullRequest
0 голосов
/ 18 февраля 2020

Я новичок в программировании и SwiftUI, поэтому буду очень признателен за вашу помощь.

Я помещаю значок камеры в заголовок, чтобы открыть лист действий, который позволит пользователям выбирать камеру или фотогалерею.

После этого я использовал 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()

        }
}

1 Ответ

0 голосов
/ 19 февраля 2020

Вы, вероятно, должны представить свой ImagePicker внутри листа следующим образом:

HStack {
 // your code
}
.sheet(isPresented: $isShown) {
    ImagePicker()
}
...