개발일지2025. 3. 23. 19:342025.03.23

[Ting / 유저피드백] 키보드 관련 UX 개선 (returnKeyType 설정으로 다음 TextField로 이동)
개발일지2025. 2. 18. 01:10[Ting / 유저피드백] 키보드 관련 UX 개선 (returnKeyType 설정으로 다음 TextField로 이동)

키보드 관련 UX를 개선하였다.위의 스크린 캡처와 같이, 텍스트 필드를 많이 사용하는 두개의 뷰가 있다.첫 회원가입시에 회원정보를 추가하는 뷰, 그리고 회원정보를 수정하는 뷰.이 부분에서 유저피드백을 받아서 키보드 관련 UX를 개선하였다. 개선전키보드의 Return키는 Done(완료). 값을 입력하고 Return키를 누르면, 키보드가 내려가고 다음 텍스트 필드를 직접 클릭해서 키보드를 또 띄워야한다.FirstResponder 설정이 안되어있기 때문에, 텍스트필드를 직접 선택해야함.  개선 후FisrtResponder를 첫번째 텍스트필드로 지정해서 자동으로 키보드가 뜬다.마지막 텍스트필드는 Done(완료). 따라서 키보드가 내려간다.이외에는 다음(Next), 다음 텍스트필드로 자동으로 넘어간다.  코드Cu..

[Ting] TextField 공백, 특수문자 검사 로직 구현
개발일지2025. 2. 12. 23:23[Ting] TextField 공백, 특수문자 검사 로직 구현

닉네임 같은 값은 중복되지 않고, 유효한 Unique값으로 구현되는 것이 중요하다.Unique값으로 갈지, 태그를 붙여서 중복 닉네임을 허용할지는 각자 선택할 문제지만, Ting에서는 Unique값으로 결정.또한 닉네임간의 공백, 특수문자 사용을 허가하지 않기로 결정했기 때문에,해당 항목들에 대한 검사 로직이 필요하다.  중복검사 로직 구현 글 [Ting / 트러블슈팅] 회원정보 수정 시 닉네임 변경을 강제하는 현상 수정개요마이페이지에서 회원정보 수정하러 들어가서 저장하기 버튼을 누르면, 회원정보 수정을 강제하는 문제가 생겼다.우리는 닉네임을 유니크 값으로 유지하기로 결정했기 때문에, 중복 닉네임quaker.tistory.com  따라서 오늘은 TextField에서 공백 및 특수문자를 검사하는 로직을 구..

2025
개발일지2025. 2. 12. 14:552025

[Ting / 트러블슈팅] 회원정보 수정 시 닉네임 변경을 강제하는 현상 수정
개발일지2025. 2. 11. 23:40[Ting / 트러블슈팅] 회원정보 수정 시 닉네임 변경을 강제하는 현상 수정

개요마이페이지에서 회원정보 수정하러 들어가서 저장하기 버튼을 누르면, 닉네임 수정을 강제하는 문제가 생겼다.우리는 닉네임을 유니크 값으로 유지하기로 결정했기 때문에, 중복 닉네임을 허용하지 않는다. 코드를 보자. Firebase를 사용하기 위한 API Serviceclass UserInfoService { static let shared = UserInfoService() private let db = Firestore.firestore() private init() {} // MARK: 중복 닉네임 확인 로직 func checkNicknameDuplicate(nickname: String, completion: @escaping (Bool) -> Void) { ..

개발일지2025. 2. 4. 23:452025.02.04

[Ting] UISearchBar, Custom Navigation Bar 구현
개발일지2025. 1. 23. 00:59[Ting] UISearchBar, Custom Navigation Bar 구현

Project Ting작업내용SearchBar 구현 (클릭시 뷰 이동)Custom Navigation Bar 구현SearchBar 구현SearchBar UI 구현 let searchBar = UISearchBar().then { $0.placeholder = "검색" $0.searchBarStyle = .minimal $0.backgroundImage = UIImage() } override func viewDidLoad() { super.viewDidLoad() navigationBar() configureUI() searchBar.delegate = self // 서치바 del..

Project Ting 기획
개발일지2025. 1. 21. 21:05Project Ting 기획

최종 프로젝트로개발자, 디자이너, 기획자 등의 협업 프로젝트 멤버나, 프로젝트를 매칭시키는 플랫폼, "Ting"을 기획하였다. 팀원 - 4명개발기간 - MVP 3주, 유저 피드백 & 개선 & 추가기능 구현 3주 MVP팀원 구인 게시판프로젝트 구직 게시판신고하기애플로그인검색  현재까지 올라온 대략적인 와이어 프레임. 리젝 방지로그인일단 최소 목표는 MVP를 최대한 빠르게 완성하는게 목표이기 때문에,로그인은 애플아이디 단독으로,어차피 소셜 로그인을 구현했을 때, 애플로그인은 반드시 구현해야한다.구현하지 않으면 -> 리젝 신고하기커뮤니티 기능이 있으면,이상한 글이나, 댓글같은건 무조건 신고할 수 있어야함즉 신고기능이 반드시 필요함.최소 MVP 구현을 위해, 일단 신고하면 신고자에게는 얼럿으로 알리기.추후 신고..

[Swift / iOS] Hex Color로 색 구현하기
개발일지2025. 1. 20. 22:50[Swift / iOS] Hex Color로 색 구현하기

문제앱을 개발하면서, 앱의 시그니처 컬러로 정한 컬러를 넣어야 하는데,컬러의 값이 Hex Color로 구현되어 있었다.기존 RGB값을 넣어서는 구현이 가능하지만, Hex Color로 컬러를 사용하기 위해서는, RGB를 Hex Color로 변환해주는 과정이 필요하다.  Hex Color Code란?RGB방식의 색상 코드 표기법.#뒤에 오는 여섯자리 혹은 세자리 숫자로 색상을 표기하는 방식이다. 기존 RGB방식기존에는 RGB값을 이런식으로 구현하였다.view.backgroundColor = UIColor(red: 10/255, green: 25/255, blue: 38/255, alpha: 1)이렇게 각각의 RGB값을 넣어서 색을 사용했는데,우리는 이것을 Hex Color로 변환해서,  view.backgr..

[UIKit / Swift / iOS] 디버깅을 해보자. (TableView가 보이지 않는 문제)
개발일지2025. 1. 10. 22:31[UIKit / Swift / iOS] 디버깅을 해보자. (TableView가 보이지 않는 문제)

개요UIKit, 즉 코드베이스로 UI를 구현하고 있는데, 문제가 생겼다.TableView가 보여야 하는데, 아래 사진처럼 TableView가 보이지 않는다.그리고 TableViewCell에서 MockData가 보여야 하는데 보이지 않는다.MockData로는 A, B, C, D 등 간단한 알파벳을 넣었다.따라서 View Hierarchy을 사용해서 디버깅을 진행해보자.     전개먼저 좌측 하단(디버그 영역)에서 위와 같은 버튼을 찾아서 클릭해준다.이 버튼이 View Hierarchy 이고,View를 계층별로 나눠서 보여주는 기능이다.   그럼 왼쪽 그림과 같이 뷰가 계층별로 나뉘어서 보인다.오른쪽의 시뮬레이터 상의 화면과 비교해보자.오른쪽만 봤을 때는 아무것도 없는 백지로 나온다.하지만 왼쪽화면을 보면 ..

image