일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 아이폰
- 스크롤 인디케이터
- 스위프트
- loadView
- exit()
- 이니셜라이저
- FeedbackGenerator
- viewcontroller
- 깃헙
- scroll indicator
- 레이아웃 사이클
- 뷰컨
- SWIFT
- git
- swift haptic
- 런치 스크린
- graceful termination
- IOS
- refreshControl
- indicator style
- do try catch
- 알뜰폰
- viewDidDisappear
- 스토리보드
- 클로저
- 우아한 앱종료
- viewDidAppear
- viewWillDisappear
- without Storyboard
- 세븐모바일
- Today
- Total
목록IOS (8)
예거's Bicycle for the mind
해당 게시글은 글또 9기 활동, 유데미로 무료로 제공받은 강의에 대한 리뷰입니다. 어느새 2년이 넘는 시간동안 참여하고 있는 개발자 글쓰기 커뮤니티 글또에서 이번 9기엔 와 콜라보를 해서 강의 하나를 무료로 수강할 기회를 얻었다. 여러 강의 중에 2개를 선택할 수 있었는데, 처음에 딱 봤을 때 눈에 들어온 것은 였다.몇 년 전 생각이 났다. 2021년도에 다니던 직장 퇴사하고 개발 공부를 시작했을 때, 그 즉시 필요성을 느낀 게 영어 공부였다. 일단 Swift 개발 문서나 오픈소스 README 만 보더라도 99% 이상 영어로 쓰여있다.물론 우클릭해서 한글 번역으로 바꾼 뒤 읽어도 문제는 없지만, 가끔은 더 정확한 번역이나 늬앙스를 읽어야 해서 영어 원문으로 읽을 필요가 있었다. 이때 어려운 단어들이 꽤..
안녕하세요. 예거입니다. 😄 얼마 전에 종료된 프로젝트에서 처음으로 당겨서 새로고침(Pull to Refresh) 기능을 구현해봤습니다. 스크롤 뷰(ScrollView) 리스트 형태를 갖는 화면을 간단한 제스처 만으로 새로고침 할 수 있는 기능인데요. 당근마켓이나 인스타그램에서도 습관처럼 사용하는 기술입니다. 오히려 너무 자연스러워서, 없으면 어색할 정도죠. iOS 에서는 이 기능을 어떻게 구현하나 싶었는데, 다행히도(?) 간편하게 구현할 수 있도록 클래스나 프로퍼티들이 준비되어 있더라구요. 1️⃣ UIRefreshControl 클래스와 구현 코드 UIRefreshControl 라는 클래스를 사용하면 됩니다. 개요(Overview)를 짧게 읽어보죠. 우선, UIScrollView 클래스를 포함해서 이 클..
iOS를 공부하면서, 늘 스토리보드를 위주로 UI를 구성하다가, 처음으로 스토리보드 없이 UI 화면을 만들어야 하는 과제가 주어졌습니다. 구글링을 하며 여러 블로그를 참고했는데, 정확하지 않은 정보가 많아 시행착오를 꽤 겪었습니다. 이번 글에서는 스토리보드 없이 UI를 만드는 구체적인 프로세스와 시행착오를 공유해보고자 합니다. 1️⃣ 먼저, Main.storyboard 파일 삭제하기 주제와 관련해서 구글링을 해보면 Main.storyboard 파일을 삭제해야 한다는 내용은 공통적으로 나옵니다. 긴 말이 필요 없겠죠. 디렉토리에서 Move to Trash 해줍니다. 2️⃣ info.plist 수정하기 그다음 순서는 프로젝트의 메타 데이터가 담긴 info.plist 파일을 수정하는 것인데요. 개발 진행 상황..
스크롤 뷰와 스크롤 인디케이터 아마 우리 모두는 하루에도 수백 번씩 스크롤 뷰를 사용할 거라 확신합니다. 😄 마우스의 휠을 통해 드르륵, 드르륵. 또는 손가락을 이용해서 휙휙 화면을 위, 아래로 움직이는데요. 우리가 봐야 하는 콘텐츠는 화면의 크기보다 더 길거나 넓을 때, 스크롤 뷰를 활용합니다. 그리고 '스크롤'이라는 행위를 할 때, 사용자에게 스크롤 뷰에서의 사용자가 보고 있는 상대적인 위치를 나타내는 UI 요소가 바로 스크롤 인디케이터(Scroll Indicator)입니다. 기본(default) 스크롤 인디케이터의 문제점 프로젝트를 진행하며, 숫자가 쌓이다가 화면을 넘어가면 스크롤 뷰가 활성화되는 기능을 넣었어요. 근데 스크롤 뷰에 기본적으로 탑재되어 있는 default 스크롤 인디케이터가 제가 만..
마지막 catch 의 역할 iOS 앱 개발을 하다보면, 발생 가능한 에러를 정의하는 열거형과 에러를 발생시킬 가능성이 있는 메서드를 만들게 됩니다. 에러를 던질 수 있는(throws) 메서드는 호출부에서 do-try-catch 문으로 처리해줄 수 있는데요, 이때 직접 정의한 에러 케이스를 전부 다루더라도, exhaustive 하지 않다는 컴파일 에러가 뜨는 경우가 있습니다. exhaustive 는 "하나도 빠뜨리는 것 없이 철저한" 이라는 뜻의 형용사인데요. 스위프트에서 switch 문을 쓰다 보면, 자주 보실 수 있는 에러죠. 위의 예시 코드처럼, do-try-catch 문에서 모든 에러 타입을 catch 로 붙잡아주더라도, 마지막에 매치되는 에러가 없는 catch 절이 필요한데요. 마지막 catch ..
아이폰의 장점은 무엇일까요? 아이폰은 왜 사용할까요? 많은 사람들은 애플의 생태계, 연결성, 그리고 UX 를 꼽습니다. UX 는 User Experience, 즉 사용자의 경험이라는, 굉장히 추상적인 가치입니다. 이렇게 추상적인 사용자 경험을 끌어올리는 방법은 여러 가지가 있겠지만 제가 아이폰을 처음 구입했을 때 가장 놀라웠던 점이 바로 햅틱 피드백이었거든요. 햅틱이라고 하면, '연아 햅틱' 을 떠올리시는 분도 있을 것 같습니다. (제가 그랬거든요.) 햅틱이라는 말이 어려우면, '진동'이라고 하면 이해가 쉽습니다. 햅틱(Haptic)이 뭘까? 위키백과에서 확인한 햅틱의 사전적 정의는 다음과 같습니다. 햅틱(haptic)은 사용자에게 힘, 진동, 모션을 적용함으로써 터치의 느낌을 구현하는 기술 그리고 이 ..
앱은 하나 이상의 화면으로 이루어져 있습니다. 화면에서 다른 화면으로 이동할 수 있고, 또 되돌아올 수도 있어요. View controllers are the foundation of your app’s internal structure. Every app has at least one view controller, and most apps have several. 앱의 모든 화면은 각자의 ViewController(이하 "뷰컨"), 그리고 생명주기(Life Cycle)를 갖습니다. 화면이 메모리에 처음 올라가고(로딩), 사용자에게 시각적으로 보여지고, 그리고 다음 화면을 위해 자리를 양보하며 사라지고, 메모리에서 아예 해제되기도 하는 일련의 과정을 UIViewController Life Cycle 이라..
컴퓨터 공학을 전공하지 않은 사람이 한국에서 개발자가 되려면 어떻게 해야 할까? 어떤 개발자가 되고 싶은지, 그리고 본인의 주머니 사정에 따라서 여러 가지 방법이 존재한다. JAVA 또는 웹개발 같은 경우엔 부트캠프도 많고 요즘에는 K-Digital Training 이라고 해서, 고용노동부에서 교육비를 전액 지원해주는 프로그램도 많다. 웹개발자가 되기 위해선 사실상 '어디서 교육받을지'만 결정하면 된다. 교육비를 낼 필요도 없어지고 있다. 그럼 만약 웹개발이 아닌, 모바일 개발자가 되고 싶다면? 그중에서도 아이폰에 들어가는 앱을 개발하는 iOS 개발자가 되고 싶다면? (iOS란, 그 유명한 애플의 모바일 운영체제를 말한다. 즉 iOS 개발자란, 아이폰에서 쓸 수 있는 애플리케이션을 만드는 개발자다.) 위..