-ID TextField는 무조건 값이 있어야함(ID 필수 입력)
-PW TextField는 6글자 이상의 텍스트가 입력되어야 하며, 무조건 값이 있어야함(6글자 이상의 PW)
-추천인 코드는 숫자로만 입력되어야함
-회원가입 버튼을 누르면 위 세가지 조건을 만족하면 다음 뷰를 띄워주고, 만족하지 못하면 ID, PW,Recommender Code TextField의 Placeholder 색이 빨간색으로 바뀌고 Alert를 띄워 만족되지않은 조건을 알려준다
//뷰 컨트롤러 전환 함수
func nextViewController() {
//if let signUp = self.storyboard?.instantiateViewController(withIdentifier: "nextView") as? NextViewViewController {
//present(signUp, animated: true, completion: nil) //show타입
guard let nextVC = self.storyboard?.instantiateViewController(identifier: "nextView") else {return}
self.navigationController?.pushViewController(nextVC, animated: true) //push타입
}
.
.
.
.
//회원가입 버튼 클릭 이벤트
@IBAction func signUpButtonClicked(_ sender: UIButton) {
//ID 조건을 만족하지 못하면 Alert으로 경고문 표시 -> addAction
let alertID = UIAlertController(title: "경고", message: "ID는 필수적으로 입력해야됩니다.", preferredStyle: UIAlertController.Style.alert)
//PW 조건을 만족하지 못하면 Alert으로 경고문 표시 -> addAction
let alertPW = UIAlertController(title: "경고", message: "PW는 필수적으로 입력해야됩니다.", preferredStyle: UIAlertController.Style.alert)
let okAction = UIAlertAction(title: "OK", style: .default) { (action) in} //Alert에 OK옵션 추가
alertID.addAction(okAction) //ID Alert
alertPW.addAction(okAction) //PW Alert
//ID텍스트 필드에 아무런 텍스트가 입력이 안될시
guard userTextFieldCollection[0].text?.isEmpty == false else{
//ID텍스트필드 붉은색 Placeholder로 경고 표시
userTextFieldCollection[0].attributedPlaceholder = NSAttributedString(string: "ID는 필수적으로 입력해야 합니다.", attributes: [NSAttributedString.Key.foregroundColor : UIColor.red])
//ID텍스트 필드 조건이 만족하지 않으면 Alert에 경고문 표시
return present(alertID, animated: false, completion: nil)
}
//PW텍스트 필드에 6글자 이상의 텍스트 입력을 안할시
guard userTextFieldCollection[1].text!.count >= 6 else {
//PW텍스트필드 붉은색 Placeholder로 경고 표시
userTextFieldCollection[1].attributedPlaceholder = NSAttributedString(string: "PW는 6자리 이상으로 입력하셔야 됩니다.", attributes: [NSAttributedString.Key.foregroundColor : UIColor.red])
//PW텍스트 필드 조건이 만족하지 않으면 Alert에 경고문 표시
return present(alertPW, animated: false, completion: nil)
}
//위의 모든 조건을 만족하면 push방식으로 뷰 컨트롤러 전환
nextViewController()
}
guard let nextVC = self.storyboard?.instantiateViewController(identifier: "nextView") else {return}
.instantiateViewController() 함수는 iOS13.0 이상에서 사용 가능하다.
[출처:애플 개발자 페이지]
https://developer.apple.com/documentation/uikit/uistoryboard/3213989-instantiateviewcontroller
(feat.Study With "SeSAC-조우석")
<<< 우석님 GitHub링크
[App Store] 개발자 인생 첫 앱 출시 (2) | 2022.10.01 |
---|---|
iOS NewTro_Todo 개인정보 처리방침 (0) | 2022.09.30 |
[Project 1 - 3]Nflix UI (0) | 2022.07.08 |
[Project 1 - 2]Nflix UI (0) | 2022.07.06 |
[Project 1 - 1]Nflix UI (0) | 2022.07.04 |