![[Ting] 유저피드백 / Textfield 공백검증, 특수문자 검증 구현, 키보드 내리는 기능 구현](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbcLFE4%2FbtsMraVxbCm%2FuWhhLKESRuTBmhk1zjVGMK%2Fimg.png)
유저피드백을 받았다. 1. 닉네임 이외에 다른 필드에서 공백 한번으로 비어있는 정보 생성 가능2. 특정 필드의 정보만 변경하고 싶은데, 한번 클릭하면 마지막 필드까지 내려갈때까지 키보드를 내릴 수 없음. 위 두가지 사항을 피드백 받았다.수정해야할 부분이다. 닉네임 중복검증 및 공백, 특수문자 검증에만 신경 쓴 나머지 다른 부분들을 체크하지 못했다.키보드도 마찬가지. 텍스트필드간의 이동 및 작성 완료시 키보드가 내려가는것에만 집중한 나머지 한가지 필드만 수정할지도 모르는 케이스를 간과하고 말았다. 수정해보자. 먼저 텍스트필드에 예외처리를 해보자 다른 파일에서도 코드를 재사용할 수 있도록, 별도의 파일로 분리를 해두었다.import UIKit// MARK: - 공백, 줄바꿈으로만 입력되었는지 체크func ..
![[UIKit / Swift / iOS] 디버깅을 해보자. (TableView가 보이지 않는 문제)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fv0Vye%2FbtsLI4wI2M8%2Fr2CG7OkNmHoBFDnnSOLvCK%2Fimg.png)
개요UIKit, 즉 코드베이스로 UI를 구현하고 있는데, 문제가 생겼다.TableView가 보여야 하는데, 아래 사진처럼 TableView가 보이지 않는다.그리고 TableViewCell에서 MockData가 보여야 하는데 보이지 않는다.MockData로는 A, B, C, D 등 간단한 알파벳을 넣었다.따라서 View Hierarchy을 사용해서 디버깅을 진행해보자. 전개먼저 좌측 하단(디버그 영역)에서 위와 같은 버튼을 찾아서 클릭해준다.이 버튼이 View Hierarchy 이고,View를 계층별로 나눠서 보여주는 기능이다. 그럼 왼쪽 그림과 같이 뷰가 계층별로 나뉘어서 보인다.오른쪽의 시뮬레이터 상의 화면과 비교해보자.오른쪽만 봤을 때는 아무것도 없는 백지로 나온다.하지만 왼쪽화면을 보면 ..
![[iOS / Swift] 라이브러리 SnapKit이란?](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcJSlQx%2FbtsLxtvs370%2F4BqfIugTKkyqhpy0SU2a1K%2Fimg.jpg)
SnapKit이란?Swift로 작성된 오토레이아웃을 간단하고 직관적으로 설정할 수 있도록 도와주는 라이브러리이다.Apple의 NSLayoutConstraint를 사용한 코드보다 훨씬 간결하고 읽기 쉬운 문법을 제공하고 있다.코드베이스로 UI를 작성할때 매우 유용하며 주로 사용되는 라이브러리이다. SnapKit의 설치방법이건 SPM(Swift Package Manager)를 이용한 설치 방법이다.다른 라이브러리를 추가할 때도 같은 방법으로 추가하면 된다.프로젝트를 클릭해주고, 좀 내리다보면, "Frameworks, Libraries, and Embedded Content"라는 탭이 있다.여기서 +를 눌러주고, 하단의 Add Other를 누른 후, Add Package Dependency 클릭. 그리..
![[Swift / iOS] LaunchScreen 설정 (UIKit, Storyboard)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbQneg3%2FbtsLjrkypat%2FIhQC6FjWqRVcgfIRcwcT30%2Fimg.jpg)
UIKit, Storyboard로 개발하면서 LaunchScreen을 설정해보자.(안드로이드에서는 Splash Screen이라고 부른다.) 생각보다 간단하다.SwiftUI가 아닌, Storyboard로 프로젝트를 생성하면, LaunchScreen.storyboard라는 파일이 생기게 되는데, 우리는 이것을 이용할 것이다. LaunchScreen.storyboard정적인 화면 단순히 이미지나 로고, Label 등으로 구성하려면LaunchScreen.storyboard라는 파일 안에, 이미지를 넣던, 단순 Label을 넣던 취향껏 구현해주면 된다.방법은 기존 Stroyboard로 UI를 구현할 때와 같은 방식이다. 단, 이렇게 구현하는 방식은 정적인 화면만 표시할 수 있다.동적인 화면, 애니메이션 등을 추가..