ContentView.swift
// // ContentView.swift // Swiftuitest // // Created by Cairocoders // import SwiftUI struct ContentView: View { @State var show = false var body: some View { VStack { Home() SearchView() HStack { Text("All Movies") Spacer() Button(action: { }) { HStack(spacing: 10) { Text("Filter") Image(systemName: "text.justify.right") } }.foregroundColor(.black) }.padding(.bottom, 15) Cards() }.padding() } } struct ContentView_Previews: PreviewProvider { static var previews: some View { ContentView() } }Home
// // Home.swift // Swiftuitest // // Created by Cairocoders // import SwiftUI struct Home: View { @State private var selection = 1 var body: some View { VStack(spacing: 15) { HStack { VStack(alignment: .leading, spacing: 15) { Text("Browse").font(.largeTitle) Button(action: { }) { HStack(spacing: 8) { Picker(selection: $selection, label: Text("Movie In")) { Text("Movies in Cinema 1").tag(1) Text("Movies in Cinema 2").tag(2) } Image(systemName: "chevron.down").font(.body) } } .foregroundColor(.black) } Spacer() Button(action: { }) { Image(systemName: "slider.horizontal.3") } } }.padding(.top, 15) } } struct Home_Previews: PreviewProvider { static var previews: some View { Home() } }SearchView.swift
// // SearchView.swift // Swiftuitest // // Created by Cairocoders // import SwiftUI struct SearchView: View { @State var txt = "" var body: some View { HStack(spacing: 15) { Image(systemName: "magnifyingglass").font(.body) TextField("Search Movies", text: $txt) } .padding() .foregroundColor(.black) .background(Color("Color")) .cornerRadius(20) //.padding(.vertical, 15) } } struct SearchView_Previews: PreviewProvider { static var previews: some View { SearchView() } }Cards.swift
// // Cards.swift // Swiftuitest // // Created by Cairocoders // import SwiftUI struct Cards: View { @State var show = false var body: some View { ScrollView(.vertical, showsIndicators: false) { VStack(spacing:15) { ForEach(datamodel) {rs in ScrollView(.horizontal,showsIndicators: false) { HStack(spacing : 15) { ForEach(rs.row) { i in VStack(alignment: .leading, spacing: 12) { Image(i.image).renderingMode(.original).resizable().cornerRadius(15) .onTapGesture { self.show.toggle() } Text(i.name).font(.caption).lineLimit(1) Text(i.time).font(.caption) } .foregroundColor(Color.black.opacity(0.5)) .frame(width: UIScreen.main.bounds.width / 2 - 25, height: 240) } } } } } } .padding(.horizontal, 10) .sheet(isPresented: $show) { Details() } } } struct Cards_Previews: PreviewProvider { static var previews: some View { Cards() } }Details.swift
// // Details.swift // Swiftuitest // // Created by Cairocoders // import SwiftUI struct Details: View { @State var selected = "" @State var timeselection = "" var body: some View { VStack { Image("1").resizable().aspectRatio(1, contentMode: .fill).frame(height:250) VStack { VStack(spacing: 15) { Text("Avengers").foregroundColor(.black) HStack(spacing: 15) { HStack { Image(systemName: "star.fill").font(.caption) Text("4.52") } HStack { Image(systemName: "clock").font(.caption) Text("45 Min") } HStack { Image(systemName: "film").font(.caption) Text("Imax") } } Divider().padding(.vertical, 15) VStack(alignment: .leading) { Text("StoryLine") .background(Color.gray) .foregroundColor(.white) .padding(.bottom, 10) Text("Earth's mightiest heroes must come together and learn to fight as a team if they are going to stop the mischievous Loki and his alien army from enslaving humanity.").font(.caption) } } .padding() .background(Color("Color")) .foregroundColor(Color.black.opacity(0.5)) .cornerRadius(25) VStack(alignment: .leading) { Text("Date") HStack(spacing: 5) { ForEach(dates) { i in Button(action: { self.selected = i.date }) { VStack(spacing :5) { Text(i.date) .font(.system(size: 30, weight: .bold)) Text(i.day) }.padding() } .foregroundColor(Color.white) .background(self.selected == i.date ? Color.blue : Color.gray) .cornerRadius(10) } } .padding(.vertical, 10) Text("Time") HStack(spacing: 5) { ForEach(times) { t in Button(action: { self.timeselection = t.time }) { VStack(spacing :5) { Text(t.time) }.padding() } .foregroundColor(Color.white) .background(self.timeselection == t.time ? Color.blue : Color.gray) .cornerRadius(10) } } .padding(.vertical, 10) } HStack(spacing: 15) { Text("$45") Button(action : { }) { Text("Book Now").padding(.vertical, 15).padding(.horizontal, 15) } .foregroundColor(.white) .background(Color.orange) .clipShape(Capsule()) }.padding(.top, 15) Spacer() } .padding(.horizontal, 25) .padding(.top, -35) } } } struct Details_Previews: PreviewProvider { static var previews: some View { Details() } }Model.swift
// // Model.swift // Swiftuitest // // Created by Cairocoders // import SwiftUI struct type : Identifiable { var id : Int var row : [row] } struct row : Identifiable { var id : Int var name : String var time : String var image : String } struct datetype : Identifiable { var id : Int var date : String var day : String } var datamodel = [type(id: 0, row: [ row(id: 0, name: "Avengers", time: "1h 12m", image: "1"), row(id: 1, name: "Onward", time: "1h 42m", image: "2"), row(id: 2, name: "Soul", time: "1h 40m", image: "3"), ]), type(id: 1, row: [ row(id: 0, name: "Cruella", time: "1h 12m", image: "4"), row(id: 1, name: "Jungle Cruise", time: "1h 42m", image: "5"), row(id: 2, name: "The Call of the Wild", time: "1h 40m", image: "6"), ]), type(id: 2, row: [ row(id: 0, name: "Joker", time: "1h 12m", image: "7"), row(id: 1, name: "Mulan", time: "1h 42m", image: "8"), row(id: 2, name: "Mortal Komba", time: "1h 40m", image: "9"), ])] var dates = [datetype(id: 0, date: "15", day: "01/20"), datetype(id: 1, date: "16", day: "01/20"), datetype(id: 2, date: "17", day: "01/20"), datetype(id: 3, date: "18", day: "01/20")] struct timetype : Identifiable { var id : Int var time : String } var times = [timetype(id: 0, time: "0:00"), timetype(id: 1, time: "1:00"), timetype(id: 2, time: "2:00"), timetype(id: 3, time: "3:00")]