UIKit, SwiftUI, H.I.G(35)
-
[iOS] 스톱워치 앱 만들기 (3) - 테이블 뷰에 랩 타임 추가하기
[iOS] 스톱워치 앱 만들기 (2) - 버튼 클릭에 따른 상태 변화 기능 구현 [iOS] 스톱워치 앱 만들기 (1) - 프로젝트 기본 세팅과 Timer에 대한 이해 오랜만에 써보는 iOS 개발 글이다. 오지 않을 것만 같던 전역도 이제 슬슬 보이고 있고, 마냥 휴가 때 놀기만 하는 것이 도저 mini-min-dev.tistory.com 이번 글에서는 3번과 4번의 절반에 해당하는 "테이블 뷰에 기록이 순서대로 추가되는" 기능 구현을 해보겠다. 기록은 순으로 표출하게 구현할 것이다. 1. 우측 Start 버튼을 누르면 시간이 움직인다. 처음 상태에서 왼쪽 Lap 버튼은 눌릴 수 없다. 2. 시간이 가기 시작하면, Start 버튼은 Reset 버튼으로 바뀌고 Lap 버튼은 누를 수 있도록 바뀐다. 3. L..
2023.07.06 -
[iOS] 스톱워치 앱 만들기 (2) - 버튼 클릭에 따른 상태 변화 기능 구현
[iOS] 스톱워치 앱 만들기 (1) - 프로젝트 기본 세팅과 Timer에 대한 이해 오랜만에 써보는 iOS 개발 글이다. 오지 않을 것만 같던 전역도 이제 슬슬 보이고 있고, 마냥 휴가 때 놀기만 하는 것이 도저히 견딜 수(?)만 없어서 거의 말출이라 할 수 있는 이번 14일간의 휴가 mini-min-dev.tistory.com 지난 글에 이어서 이제 본격적으로 스톱워치 기능을 구현해 줄 차례이다. 이번 글에서는 1, 2, 5번의 상태 변화 기능을 구현해보려 한다. Lap 버튼 클릭에 따른 테이블 뷰의 셀 추가 관련 부분은 다음 글에서! 1. 우측 Start 버튼을 누르면 시간이 움직인다. 처음 상태에서 왼쪽 Lap 버튼은 눌릴 수 없다. 2. 시간이 가기 시작하면, Start 버튼은 Reset 버튼으..
2023.07.05 -
[iOS] 스톱워치 앱 만들기 (1) - 프로젝트 기본 세팅과 Timer에 대한 이해
오랜만에 써보는 iOS 개발 글이다. 오지 않을 것만 같던 전역도 이제 슬슬 보이고 있고, 마냥 휴가 때 놀기만 하는 것이 도저히 견딜 수(?)만 없어서 거의 말출이라 할 수 있는 이번 14일간의 휴가동안 어플 하나를 만들어보려고 한다. (프로젝트 내용과 자세한 시작 동기는 추후에 다룰 프로젝트 글에서 자세하게 써보겠다 ^_^) 아무튼 짧은 시간 내에 완성도 있는 어플을 개발할 수 있을지는 잘 모르겠지만, 오늘은 그 여정의 첫번째로 스톱워치 기본 기능 (버튼 클릭에 따라 시간이 가고, 멈추고, 초기화되는)부터 차근차근 시작해 보겠다. * 18개월 동안 iOS 지식이 얼마나 변했을지는 모르겠지만, 일단 알고 있는 내용을 기반으로 개발한 거라 부족한 점이 있을 수 있습니다. 얼마든지 피드백 환영합니다! 일단..
2023.07.05 -
[UITableView] 아무 데이터가 없을 때 나오는 화면,엠티뷰(empty view) 만들기
iOS 개발을 하면, 가장 자주 만들어야 할 화면이 바로 테이블 뷰와 컬렉션 뷰일 거다. 테이블 뷰(TableView)와 컬렉션 뷰(CollectionView)는 모두 같은 형태의 데이터를 표출할 때 큰 틀만 만들어두고, 그 안에 들어가는 데이터의 세부 내용만 바꿔주는 식으로 사용한다는 점에서 두 뷰가 공통점을 가졌다. 즉, 다시 말하자면, 이 두 화면은 모두 1개 이상의 데이터가 존재할 때 그 데이터들을 반복해서 보여주기 위한 화면이라는 거다. 그렇다면, 만약에 데이터가 한 개도 없을 때는 어떤 화면이 나오게 될까? 당연히 아무런 데이터가 없기 때문에, 아래 왼쪽 사진처럼 빈 화면이 나오게 된다. 이렇게 빈 화면을 사용자에게 보여줄 수 있지만, 보통은 이 화면을 그대로 노출시키지는 않는다. 이 상황에,..
2022.01.16 -
[iOS] UserDefaults를 사용해서 온보딩(Onboarding) 화면을 만들어보자
오늘은 온보딩(Onboarding) 화면을 구현하고 연결하는 방법에 대해 글을 써보려고 한다. 온보딩(Onboarding)이란 사용자가 앱을 처음 들어왔을 때, 기본적인 앱에 대한 소개와 새로운 사용자에 대한 환영을 해주는 화면을 뜻한다. 보통 온보딩은 처음 1회를 기준으로만 사용자가 볼 수 있는 화면이며, 온보딩이 2개 이상일 경우 보통 '건너뛰기' 같은 이동 기능을 제공하는 경우가 많다. 조금 더 자세하게, 애플의 H.I.G(Human Interface Guide)에 설명되어 있는 온보딩 내용을 살펴봐보자. 1. 사용자에게 설정이 아닌, 앱을 즐길 수 있도록 도움이 되는 온보딩을 제공하세요 2. 빠른 액션을 제공하세요 (튜토리얼이나 순서가 있는 화면인 경우, skip 기능을 제공하며, 다시 돌아올 때..
2022.01.08