트러블슈팅

트러블슈팅

UITextField secureTextEntry 설정시 키체인 영역 안나오게 하기

로그인 기능을 구현하던 중, 키보드 레이아웃 관련 이슈가 발생했다. 😇 문제 상황과 원인 비밀번호 TextField의 보안을 위해 isSecureTextEntry 속성을 true로 지정해주었는데, 텍스트 필드를 이동할때마다 화면이 요동치는 현상이 발생하였다. 현재 뷰의 바텀 레이아웃을 KeyboardLayout에 맞춰줬는데, 키보드 위에 생기는 키체인 패스워드 영역 때문에 발생한 것. 키보드 레이아웃이 키체인 영역이 생길때마다 그에 맞게 늘어나게 되고, FirstResponder인 텍스트필드가 바뀔때마다 키체인 영역의 노출 여부도 바뀐다. 따라서 화면이 요동치는 것처럼 보이는 것이다. 한편 키체인 영역은 텍스트필드가 isSecureTextEntry == true 일때 등장하며, 1) 키체인에 저장된 암호..

트러블슈팅

CollectionView 페이징시 스크롤 멈춤현상 해결하기(feat. Activity Indicator, RefreshControl)

😭 겪은 문제 API 페이징이 적용된 CollectionView에서, 하단으로 빠르게 스크롤시 스크롤이 멈추는 현상을 겪게 되었다. 정확히는 CollectionView Prefetching을 통해 새로운 데이터를 받아오고, 컬렉션뷰를 reload하는 시점에 스크롤이 멈추었다. 😇 원인 컬렉션뷰를 새로고침할때 사용하던 refreshControl을 네트워크 통신의 로딩으로 같이 사용해서 발생한 문제였다. 😭 private lazy var refreshControl: UIRefreshControl = { let refreshControl = UIRefreshControl() refreshControl.addTarget( self, action: #selector(viewControllerDidRefresh(_..

트러블슈팅

Navigation Bar의 SearchBar에서 키보드 내리기(feat. resignFirstResponder)

🔥 구현할 기능 🔥 검색어 입력 중, 화면을 터치하거나 리턴키를 입력했을때 키보드를 내리기 ❌ view.endEditing(true) ❌ 그동안 TextField에 입력중인 상황에서, view.endEditing(true)를 호출하여 키보드를 내릴 수 있었다. 검색창 기능을 구현하던 중, 기존에 처리하던 방법대로 필요한 시점에view.endEditing(true)을 호출하면 키보드를 내릴 수 있을 줄 알았다,, private lazy var searchBar: UISearchBar = { let searchBar = UISearchBar() searchBar.placeholder = "제목을 입력하세요." searchBar.searchTextField.addTarget( self, action: #sel..

트러블슈팅

다크모드와 CGColor(feat. layer.borderColor)

새싹 과제에서 다크모드 대응을 추가로 해보던 중 겪은 이슈와 트러블 슈팅 내용입니다. (나중에 회고 후 개념, 내용 다듬을 예정) 다크모드 대응하기(Dynamic color 적용)다크모드를 위해 dynamic color로써 black/white 커스텀 컬러를 Assets에 추가함. 추가한 커스텀 컬러를 필요한 부분에 적용해보자. 과정1. UIColor를 확장해서 보다 사용하기 쉽게 세팅import UIKit extension UIColor { class var systemBlack: UIColor? { return .init(named: "systemBlack") } class var systemWhite: UIColor? { return .init(named: "systemWhite") } } 2. I..

예스코치
'트러블슈팅' 카테고리의 글 목록