From 02a31226e3487f8e239a425e75a3f790df13a6e5 Mon Sep 17 00:00:00 2001 From: neddington Date: Wed, 27 Sep 2023 16:35:11 -0700 Subject: [PATCH 1/2] . --- .../UserInterfaceState.xcuserstate | Bin 0 -> 44794 bytes .../xcschemes/xcschememanagement.plist | 14 +++ .../ContentView.swift | 83 +++++++++++++++--- 3 files changed, 86 insertions(+), 11 deletions(-) create mode 100644 ProIPhone_Ch07_SharingDataBetweenStructures.xcodeproj/project.xcworkspace/xcuserdata/neddington.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 ProIPhone_Ch07_SharingDataBetweenStructures.xcodeproj/xcuserdata/neddington.xcuserdatad/xcschemes/xcschememanagement.plist diff --git a/ProIPhone_Ch07_SharingDataBetweenStructures.xcodeproj/project.xcworkspace/xcuserdata/neddington.xcuserdatad/UserInterfaceState.xcuserstate b/ProIPhone_Ch07_SharingDataBetweenStructures.xcodeproj/project.xcworkspace/xcuserdata/neddington.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..5fff27823cfdd45e6a9dfd05ab4cdcd62c4a4bd8 GIT binary patch literal 44794 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 L|1ZLSrvLEYrOU7; literal 0 HcmV?d00001 diff --git a/ProIPhone_Ch07_SharingDataBetweenStructures.xcodeproj/xcuserdata/neddington.xcuserdatad/xcschemes/xcschememanagement.plist b/ProIPhone_Ch07_SharingDataBetweenStructures.xcodeproj/xcuserdata/neddington.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..fe73645 --- /dev/null +++ b/ProIPhone_Ch07_SharingDataBetweenStructures.xcodeproj/xcuserdata/neddington.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SchemeUserState + + ProIPhone_Ch07_SharingDataBetweenStructures.xcscheme_^#shared#^_ + + orderHint + 0 + + + + diff --git a/ProIPhone_Ch07_SharingDataBetweenStructures/ContentView.swift b/ProIPhone_Ch07_SharingDataBetweenStructures/ContentView.swift index 47f8271..3b25114 100644 --- a/ProIPhone_Ch07_SharingDataBetweenStructures/ContentView.swift +++ b/ProIPhone_Ch07_SharingDataBetweenStructures/ContentView.swift @@ -1,15 +1,10 @@ -// -// ContentView.swift -// ProIPhone_Ch07_SharingDataBetweenStructures -// -// Created by Mike Panitz on 9/26/23. -// - -import SwiftUI - import SwiftUI struct ContentView: View { + @State private var isDarkMode = false + @State private var student = Student(firstName: "John", lastName: "Doe") + @State private var course = Course(year: "2023", quarter: "Q1", area: "IT-MOB", courseNumber: "101", courseTitle: "Introduction to Programming") + var body: some View { TabView { RandomBackgroundColor() @@ -26,13 +21,15 @@ struct ContentView: View { .tabItem { Image(systemName: "3.circle") } - EnvironmentObjectView() + + // New View with Dark Mode Toggle and Student & Course Information + DarkModeAndDataView(isDarkMode: $isDarkMode, student: $student, course: $course) .tabItem { Image(systemName: "4.circle") } } .tabViewStyle(DefaultTabViewStyle()) - + .environment(\.colorScheme, isDarkMode ? .dark : .light) } } @@ -41,3 +38,67 @@ struct ContentView_Previews: PreviewProvider { ContentView() } } + +struct Student { + var firstName: String + var lastName: String +} + +struct Course { + var year: String + var quarter: String + var area: String + var courseNumber: String + var courseTitle: String +} + +struct DarkModeAndDataView: View { + @Binding var isDarkMode: Bool + @Binding var student: Student + @Binding var course: Course + + var body: some View { + VStack { + Toggle("Dark Mode", isOn: $isDarkMode) + .padding() + + Text("Student Information:") + .font(.headline) + + // Subcomponent for editing student information + StudentInfoView(student: $student) + + Text("Course Information:") + .font(.headline) + + // Subcomponent for editing course information + CourseInfoView(course: $course) + } + .padding() + } +} + +struct StudentInfoView: View { + @Binding var student: Student + + var body: some View { + VStack { + TextField("First Name", text: $student.firstName) + TextField("Last Name", text: $student.lastName) + } + } +} + +struct CourseInfoView: View { + @Binding var course: Course + + var body: some View { + VStack { + TextField("Year", text: $course.year) + TextField("Quarter", text: $course.quarter) + TextField("Area", text: $course.area) + TextField("Course Number", text: $course.courseNumber) + TextField("Course Title", text: $course.courseTitle) + } + } +} From b07d053216b5ed5bd3d92f57d545362b2924ecfb Mon Sep 17 00:00:00 2001 From: neddington <57195758+neddington@users.noreply.github.com> Date: Wed, 27 Sep 2023 16:36:13 -0700 Subject: [PATCH 2/2] Create README.md --- README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..7580262 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# Pro-IPhone-Ch07-SharingDataBetweenStructures