Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import SwiftUI
- struct ContactDetailView: View {
- // array of user models
- @State var userModels: [UserModel] = []
- // check if user is selected for edit
- @State var userSelected: Bool = false
- // id of selected user to edit or delete
- @State var selectedUserId: Int64 = 0
- let model: UserModel
- //MARK: - Image Picker
- @State var showingImagePicker = false
- @State var image: Image? = nil
- var body: some View {
- VStack {
- if image == nil {
- Image(systemName: "person.fill")
- .resizable()
- .clipShape(Circle())
- .frame(width: 150, height: 150)
- .foregroundColor(Color.gray)
- .overlay(Circle()
- .stroke(Color.gray,
- lineWidth: 4))
- .padding(.bottom)
- }else{
- image?.resizable()
- .clipShape(Circle())
- .frame(width: 150, height: 150)
- .foregroundColor(Color.gray)
- .overlay(Circle()
- .stroke(Color.gray,
- lineWidth: 4))
- .padding(.bottom)
- }
- Button("Choose Profile Image"){
- self.showingImagePicker.toggle()
- }
- }.sheet(isPresented: $showingImagePicker, content: {
- ImagePicker.shared.view
- }).onReceive(ImagePicker.shared.$image) {image in self.image = image}
- VStack {
- Text(model.name)
- .font(.title)
- .fontWeight(.medium)
- Form {
- Section {
- HStack{
- Text("Phone")
- Spacer()
- Text(model.phoneNumber)
- .foregroundColor(.gray)
- .font(.callout)
- }
- HStack{
- Text("Email")
- Spacer()
- Text(model.email)
- .foregroundColor(.gray)
- .font(.callout)
- }
- HStack{
- Text("adress")
- Spacer()
- }
- }
- }
- }
- }
- }
- struct ContactDetailView_Previews:
- PreviewProvider {
- static var previews: some View {
- ContactDetailView()// ошибка - Missing argument for parameter 'model' in call
- }
- }
- ----------------------------------------------------
- import Foundation
- class UserModel: Identifiable {
- public var id: Int64 = 0
- public var name: String = ""
- public var email: String = ""
- public var phoneNumber: String = ""
- public var photoUser: String = ""
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement