Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -287,7 +287,7 @@
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_ASSET_PATHS = "\"ProIPhone_Ch07_SharingDataBetweenStructures/Preview Content\"";
DEVELOPMENT_TEAM = 3ZQJ35HR4K;
DEVELOPMENT_TEAM = 2N3K33KLKM;
ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
Expand Down Expand Up @@ -316,7 +316,7 @@
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_ASSET_PATHS = "\"ProIPhone_Ch07_SharingDataBetweenStructures/Preview Content\"";
DEVELOPMENT_TEAM = 3ZQJ35HR4K;
DEVELOPMENT_TEAM = 2N3K33KLKM;
ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
Expand Down
70 changes: 67 additions & 3 deletions ProIPhone_Ch07_SharingDataBetweenStructures/ContentView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,11 @@

import SwiftUI

import SwiftUI

struct ContentView: View {
@State private var Darkmode = false
@State private var student = Student(firstName: "Kenny", lastName: "Luchau")
@State private var course = Course( year: "2023", quarter: "Q1", field: "IT-MOB", courseNumber: "101", courseTitle: "Intro to swift")

var body: some View {
TabView {
RandomBackgroundColor()
Expand All @@ -26,12 +28,13 @@ struct ContentView: View {
.tabItem {
Image(systemName: "3.circle")
}
EnvironmentObjectView()
DarkmodeAndInfo(isDarkMode: $Darkmode, student: $student, course: $course)
.tabItem {
Image(systemName: "4.circle")
}
}
.tabViewStyle(DefaultTabViewStyle())
.environment(\.colorScheme, Darkmode ? .dark : .light)

}
}
Expand All @@ -41,3 +44,64 @@ struct ContentView_Previews: PreviewProvider {
ContentView()
}
}

struct Student {
var firstName: String
var lastName: String
}

struct Course {
var year: String
var quarter: String
var field: String
var courseNumber: String
var courseTitle: String
}

struct DarkmodeAndInfo: 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)

StudentInfoView(student: $student)

Text("Course Information:")
.font(.headline)
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.field)
TextField("Course Number", text: $course.courseNumber)
TextField("Course Title", text: $course.courseTitle)
}
}
}