간단한 앱을 만들면서 정규식, 커스텀 컬러 셋, 스플래시 뷰를 사용했던 경험을 리뷰하는 글입니다.
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으로 설정
라이트 모드에서 어둡게, 다크 모드에서 밝게
- 회원가입 버튼 액션으로 이메일, 비밀번호, 코드 입력 검사 후 AlertController 호출
- 정규식 표현 사용해서 올바른 패턴 검사
- 문제 없을 시 세그를 통해 MovieViewController로 이동
3. MovieViewController
- 기기 너비에 맞게 미리보기 이미지 뷰 크기 설정
- 미리보기 이미지 모서리 둥글게
- 재생 버튼 클릭 시 랜덤하게 이미지 변경
- 미리보기 이미지 테두리 색상 랜덤하게 설정
전체 코드 : https://github.com/Lieutenant-K/SesacIOS-Netflix.git
'IOS' 카테고리의 다른 글
[IOS] 열거형을 사용해서 간단한 앱 만들어보기 (0) | 2022.07.17 |
---|---|
[IOS] AutoLayout으로 현업의 서비스 화면 구성하기 (0) | 2022.07.17 |
[IOS] 뷰에 그림자 만들기 (0) | 2022.06.09 |
[IOS] UIButton.Configuration을 사용해서 버튼 커스텀하기 (0) | 2022.06.08 |
[IOS] 웹소켓을 사용한 클라이언트 시간 동기화 방법과 문제점 (0) | 2022.05.19 |