[IOS] 스플래시 화면과 다크모드 대응 화면 만들기
IOS

[IOS] 스플래시 화면과 다크모드 대응 화면 만들기

간단한 앱을 만들면서 정규식, 커스텀 컬러 셋, 스플래시 뷰를 사용했던 경험을 리뷰하는 글입니다.


1. SplashViewController

  • Main 스토리보드의 엔트리 포인트
  • Lottie 라이브러리를 사용해 애니메이션 재생 (Launch Screen을 안쓴 이유)
  • 애니메이션이 끝나면 segue를 통해 SignUpViewController로 이동
class SplashViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        
        let animationView = AnimationView(asset: "movie")
        view.addSubview(animationView)
        
        animationView.frame = view.frame
        animationView.play(fromFrame: 0, toFrame: 74, loopMode: .playOnce) { _ in
            self.performSegue(withIdentifier: "main", sender: self)
        }
    }
}

 

 

2. SignUpViewController

  • 스택뷰 활용해서 텍스트필드 레이아웃
  • 스위치 액션으로 일부 텍스트 필드 숨김 처리
  • 애플 semantic color 사용해서 라이트, 다크 모드 대응
  • 텍스트필드 글자 색 custom color set으로 설정
    라이트 모드에서 어둡게, 다크 모드에서 밝게

textfieldColor

  • 회원가입 버튼 액션으로 이메일, 비밀번호, 코드 입력 검사 후 AlertController 호출
  • 정규식 표현 사용해서 올바른 패턴 검사
  • 문제 없을 시 세그를 통해 MovieViewController로 이동

라이트 모드에서 회원가입 화면

 

3. MovieViewController

  • 기기 너비에 맞게 미리보기 이미지 뷰 크기 설정
  • 미리보기 이미지 모서리 둥글게
  • 재생 버튼 클릭 시 랜덤하게 이미지 변경
  • 미리보기 이미지 테두리 색상 랜덤하게 설정

 


전체 코드 : https://github.com/Lieutenant-K/SesacIOS-Netflix.git