프로젝트는 MV 아키텍처를 사용한다.
MVVM이나 MVC 대신 해당 아키텍처를 사용하도록 Apple을 권장하고 있고,
프로젝트의 구성이 조금 더 단순해진다는 장점이 있다.
Assets
Assets에는 TabView에 표시할 사진들을 추가한다.
원본은 3000 * 4000 크기의 사진들이지만 너무 과한 해상도의 사진은 비효율적이기에
이후에는 퍼포먼스 문제로 853 * 1280 수준으로 다운사이징 진행했다.
Tab.swift
//
// Tab.swift
// AutoScrolling
//
// Created by Martin.Q on 2023/03/14.
//
import SwiftUI
/// Enum Tab Cases
/// - rawValue: Asset Image Name
enum Tab: String {
case dance = "Dance"
case fruite = "Fruite"
case mirror = "Mirror"
case night = "Night"
case road = "Road"
}
Tab.swift 파일은 Tab Model에 해당한다.
Tab에 관한 정보를 구현하며, 지금은 각각의 Asset에 대응하는 사진의 이름과 case 이름을 정의했다.
ContentView
//
// ContentView.swift
// AutoScrolling
//
// Created by Martin.Q on 2023/03/14.
//
import SwiftUI
struct ContentView: View {
var body: some View {
Home()
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
ContentView는 화면을 그저 표시해 주는 역할을 한다.
Home.swift
//
// Home.swift
// AutoScrolling
//
// Created by Martin.Q on 2023/03/14.
//
import SwiftUI
struct Home: View {
/// View Properties
@State private var activeTab: Tab = .dance
var body: some View {
VStack {
}
.padding()
}
}
struct Home_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
실제적인 화면의 구성은 Home이 담당하며, 작업에 용이하도록 Preview로 Home을 표시하는 ContentView를 지정한다.
'학습 노트 > UIBreaking (2023)' 카테고리의 다른 글
AutoScrolling #05 (0) | 2023.04.04 |
---|---|
AutoScrolling #04 (0) | 2023.03.23 |
AutoScrolling #03 (0) | 2023.03.23 |
AutoScrolling #02 (0) | 2023.03.22 |
AutoScrolling #00 (0) | 2023.03.16 |