본문 바로가기

iOS/PROJECT

[소리마당 Proj] ~런치스크린, 회원가입, 로그인 페이지 구현

DB를 제외하고 구현시 알게된 사실들을 적어놓습니다.

 

  1. 런치스크린에서 커스텀 글꼴은 적용이 되지않습니다.
    Apple은 스토리보드(또는 .xib) 파일을 시작 화면으로 사용할 경우 사용할 수 있는 항목에 대해 몇 가지 극단적인 제한을 두었습니다. 사용자 정의 글꼴은 화면이 표시될 때 아직 로드되지 않았기 때문에 허용되지 않는 것 중 하나라고 추정된다고 합니다.
    따라서 png 사진을 넣어 두는 것이 최선이라고 합니다.
  2. cornerRadius 모서리를 바꾸는 것은 코드로만 가능합니다.
  3. textField 의 글자수를 제한하는 것은 UITextFieldDelegate 를 채택하여 구현할 수 있습니다.
    extension SignUpViewController: UITextFieldDelegate {
        func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
            guard let text = textField.text else {
                return false
            }
            
            /*
            if text.count >= maxLength && range.length == 0 && range.location < maxLength {
                return false
            }
            */
            
            if text.count >= maxLength && range.length == 0 {
                return false
            }
            
            return true
        }
    }
  4. textField 의 테두리의 색을 바꾸는 방법
    borderWidth를 설정하고 borderColor를 설정합니다.
    self.idTextField.layer.borderWidth = 0.5
    self.idTextField.layer.borderColor = UIColor.blue.cgColor​
  5. 자동로그인을 UserDefaults 클래스를 통해 구현할 수 있습니다.
    func saveIdAndPasswordInUserDefaults() 
    	guard let id = idTextField.text else { return }
        guard let password = passwordTextField.text else { return }
            
        UserDefaults.standard.setValue(id, forKey: "id")
        UserDefaults.standard.setValue(password, forKey: "password")
    }
        
    func removeIdAndPasswordInUserDefaults() {
        UserDefaults.standard.removeObject(forKey: "id")
        UserDefaults.standard.removeObject(forKey: "password")
    }​

    ➡️  사용자 편의를 위해서 자동로그인을 제공하려고 합니다. 자동 로그인이 됐을때 다음 실행 화면을 어떻게 이동할지 공부하는 중입니다.