UIEditMenuInteraction
·
iOS/UIKit
정의 메뉴를 이용한 편집 기능을 제공하는 인터렉션이라고한다. 설명으로는 아직 어떤 기능인지 명확하지 않다. 하지만 우리는 이 기능을 무의식적으로 많이 써봤다. 바로 다음 사진과 같이 말이다. 사진을 보니 바로 이해가 된다. 바로 LongPress를 할 때 등장하는 저 메뉴들이 오늘의 주인공인 UIEditMenuInteraction이다. iOS를 훨씬 전부터 공부했던 사람들은 UIMenuController로 알려져있는데   보다시피 iOS 16을 기점으로 더 이상 지원하지 않는다. 구현우리는 크게 2가지 방법을 통해 커스텀을 해보려고한다.첫 번째는 가장 많이 쓰이는 UITextField 또는 UITextView에서 커스텀을 해보는 것두 번째는 그 외의 뷰에 메뉴를 띄우는 동작으로 나눠 진행해보자. 1. U..
UISearchController
·
iOS/UIKit
검색 기능은 대부분 서비스에 필수적으로 있는 기능이다.다양한 스타일로 커스텀이 많이 되어있고 내가 참여하고 있는 왁타버스 뮤직팀의 검색 기능 역시 커스텀하여 사용했다. 처음부터 커스텀을 통해 개발하여 기본적인 기능으로는 만들어볼 기회가 없었다.이번 시간은 애플이 자체적으로 만들어 놓은 UISearchController 기능을 통해 같은 기능을 구현해보자. 실제 서비스1. 왁타버스 뮤직 세 화면은 앞서 설명한 왁타버스 뮤직앱의 검색화면이다.검색 전 - 추천 컨텐츠검색 중 - 최근 검색어검색 후 - 검색 결과한번 애플 앱도 살펴보자. 2.  앱 스토어 왁타버스 뮤직앱과 정확히 일치하는 3단 구성이다. 즉, 애플에서도 이 구성을 구현할 수 있게 만들어놨다는 것이제는 간단하게 만들어보자.구현내용을 간단히 살펴보..
UIGraphics
·
iOS/UIKit
오늘 학습 정리할 내용은 UIGraphics를 prefix로 갖는 다양한 내용들이다. 학습정리를 할 계기는 생각보다 단순했다. 다양한 이미지들을 저장해놓고 쓰는 것이 아닌 상황에 맞게 그릴 수 있는 기술이 매우 흥미로웠다. 적절한 예인지는 모르겠지만 다양한 필터가 있는 카메라 앱도 결국에는 소스 코드로 해당 이미지를 그리는 것이라고 생각한다.  UIGraphics PrefixUIKit와 관련된 그래픽 작업을 수행하는 함수들에 사용되는 접두사이다. 한번 어떤 종류들이 있는지 살펴보자.   일단 가장 먼저 주목해야하는건 Drawing 탭에 속해 있는 것을 볼 수 있다.무언가 앞에서 설명한 것처럼 그래픽 작업 즉, 그리는 작업을 한다는 것 같다. 두번 째로는 Render , Context, Format 형태로..
UIKit 코드 베이스 셋팅
·
iOS/UIKit
이번에는 UIKit으로 코드 베이스 개발 시 불필요한 스토리보드를 제거하는 방법을 학습해보자. Storyboard 제거 코드베이스로 구현을 할 예정이기 때문에 불필요한 스토리보드들을 삭제한다. Main과 LaunchScreen 스토리보드를 제거 한다. Main 스토리보드만 제거한다.LaunchScreen은 앱 시작시점에 스크린 크기 잡는 역할을 한다.만약 LaunchScreen이 없다면 스크린 크기를 아는 시점이 뒤로 밀린다. Info.plist첫번 째는 info.plist에 있는 Scene Configuration에 있는 Storyboard Name을 제거한다. Target타겟의 buildSettingd에서 UIKit Main Storyboard File Base Name 항목을 제거 SceneDel..