전체 글

정리를 위한 공부
트러블슈팅

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..

SeSAC

7.31 ~ 8.4 TIL

1. XIB(XML Interface Builder) 많이 사용되는 UI, 디자인은 xib 파일로 분리해서 사용하곤 함. xib로 생성한 Cell은 테이블뷰(컬렉션뷰)에 register 하는 과정이 필요하다. func configureUI() { let nib = UINib(nibName: SearchTableViewCell.identifier, bundle: nil) tableView.register(nib, forCellReuseIdentifier: SearchTableViewCell.identifier) tableView.dataSource = self tableView.delegate = self ... } xib를 컴파일하면 nib으로 변환되기 때문에, nib 파일을 등록하는 것. UINib은 ..

SeSAC

7.24 ~ 7.28 TIL

1. Date Detector(UITextView) - TextView에서 전화번호, 주소 등을 자동으로 감지하고 이동 기능을 제공. - editable을 false로 설정해야, 링크를 탭했을때 원하는 기능을 이용할 수 있음. 2. Segue 방식으로 이전 뷰로 돌아가는법, unwind - unwind: 세그먼트 방식으로 화면전환시 뒤로가기, 기존 VC로 돌아가기 1. 돌아갈 ViewController에서 직접 IBAction을 구현(unwind/segue) 2. PresentedViewController에서 dismiss 기능을 추가할 버튼에, 위에서 구현한 Action Segue를 연결 세그먼트는 이동할 때마다 기존 화면의 위에 새로운 씬이 쌓이는 개념임. 이전 씬으로 돌아갈때 unwind 방식으로 ..

트러블슈팅

다크모드와 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..

SeSAC

7.20 ~ 21 TIL

1. @available, #available - 버전 분기 구현 iOS 버전에 따라 지원하거나 지원하지 않는 기능이 있기 때문에 필요에 따라(최소 버전) 버전 분기 처리가 필요하다. @available 클래스, 프로토콜, 함수 앞에 선언하여 적용할 플랫폼, OS를 제한함. ex - iOS 13 미만 버전 대응시 필요한 AppDelegate 분기처리 // MARK: UISceneSession Lifecycle @available(iOS 13.0, *) func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOp..

SeSAC

7.18~19 TIL(새싹 iOS 1,2일차/Two days I Learned)

1. iOS 15를 기준으로 UIButton이 많이 다르다 iOS 15부터 UIButtonConfiguration이 추가되었고, style이 생김(plain, gray, tinted, filled) style을 안쓰는 기존의 UIButton으로 하려면 style을 default로 설정하면 됨(Interface Builder 기준) 유의해야될 점 1. UIButtonConfiguration(style)을 사용할 경우 상황에 따라 버전대응이 필요 iOS 15 이전 버전에서는 UI가 의도와는 다르게 그려짐 따라서 최소버전이 iOS 14 이하라면, 버전별 분기처리를 해야함(키워드, @available) 2. UIButtonConfiguration을 사용할 경우 이미지 크기 변경에 제약이 있음 style butt..

알고리즘∙코테

[프로그래머스 Lv.1] 다트게임

[1차] 다트 게임 레벨: 1 출처: 2018 KAKAO BLIND RECRUITMENT https://school.programmers.co.kr/learn/courses/30/lessons/17682 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 Single, Double, Triple 영역이 존재하고, 각각 1제곱, 2제곱, 3제곱으로 계산된다 ✅ 제곱 함수 pow 사용 옵션으로 스타상(*), 아차상(#)이 존재하고, 특히 스타상은 해당 점수와 바로 전에 얻은 점수를 각 2배로 만든다 ✅ 바로 전의 점수에도 접근해야 하므로 스택(LIFO)..

SeSAC

SeSAC iOS 3기 시작

2023년 7월 17일 부터 시작하는 'iOS 앱 개발자 데뷔 과정 PLUS'에 참여하게 되었습니다. 목표 조기취업! iOS 기본기와 개발자 역량 키우기(레퍼런스 정리하기) 취업을 위한 코딩테스트 준비(풀이는 깃헙에, 1일 1커밋) CS 개념과 면접 준비(운영체제, 자료구조, 데이터베이스) wkWebView, Widget, Live Activity 등 미뤄왔던 기술 공부 개인 앱 출시! 무엇보다도 주도적으로 해결하고 성장할 수 있는 개발자의 역량, 마인드셋을 키우기🔥 새싹을 수료하고 나서도, 취업을 하고 나서도 항상 앞으로 나아가기🏃‍♂️ 새싹에서의 6개월을 통해 큰 전환점을 맞이 할 수 있도록 파이팅🙆‍♂️

예스코치
YescoachiOS