728x90

Swift 38

[Swift] SnapKit을 사용해보자!

이번 글에서는 SnapKit이라는 라이브러리에 대해서 알아보겠습니다. SnapKit은 뷰의 레이아웃 Constraints를 쉽고 간략하게 설정해줄 수 있는 기능을 가진 라이브러리입니다. (저도 프로젝트에서 몇 번 사용해보면서 많이 편리하다는 것을 느꼈습니다. ) 기존의 isActive설정보다 작성법이 간단하고 응용 또한 쉬워서 적응하는데도 오랜 시간이 걸리지 않습니다. 간단하게 예제를 만들어보면서 어떻게 사용하면 되는지 한 번 알아보겠습니다. 1. 프로젝트 생성 이번 프로젝트에서는 간단히 뷰와 버튼 두 가지만을 생성해서 버튼을 클릭시 뷰의 크기를 조정하는 정도의 앱으로 테스트해보겠습니다. 프로젝트의 도입은 역시나 Carthage로 진행하였습니다. (도입법에 대해서 잘 이해가 되지 않으신 분은 아래 글을 ..

[Swift] Swift - 싱글톤 패턴(Singleton)

이번 글에서는 swift에서의 싱글톤 패턴에 대하여 알아보겠습니다. 싱글톤 패턴이란? 간단하게 설명드리자면 하나의 객체를 생성하여 어디서든 참조하여 사용할 수 있게 하는 디자인 패턴 중의 하나입니다. 개발에 있어서도 자주 사용되는 패턴이기도 합니다. (저 같은 경우는 거의 대부분의 프로젝트에서 사용했었습니다. 예를 들어 Notification 관리 클래스라던가 Dialog 관리 클래스) 게다가 Swift 같은 경우는 구현하는 방법도 매우 쉽기 때문에 금방 따라 하실 수 있을 것입니다. 다만 주의해야하는 점은 하나의 클래스가 프로젝트 전역에서 활용되기 때문에 플래그를 사용하신다면 주의해서 관리를 해야 합니다. 영향력 또한 넓다는 것을 유의하시고 사용하시면 될 것 같습니다. 1. 클래스 생성 생성하는 방법은..

Swift/학습 2020.05.08

[Swift] Koloda를 사용해보자!

이번 글에서 소개해드릴 라이브러리는 Koloda입니다. Tinder View와 같은 기능을 제공하는 라이브러리입니다. 저도 흥미가 있어 찾아보면서 사용해 보았는데 생각 외로 구현이 잘 되어 있어 사용하는데도 큰 어려움은 없었습니다. 이번 글에서는 간단하게 만들어보고자 여러가지 아이템을 설정한 후 아이템을 선택할 시 배경의 색상을 변경해주는 정도의 App을 한번 만들어보겠습니다. 1. 도입 우선적으로 저는 이 라이브러리 도입을 Carthage를 통해 도입하였습니다. CocoaPods 같은 경우는 도입을 간단히 진행할 수 있지만 Carthage에서는 Koloda뿐만이 아니라 같이 다운로드되는 pop도 같이 도입하여야 합니다. 2. 디자인 디자인은 우선 카드를 설정하는 View하나 그리고 카드가 전부 소모되었..

[Swift] 달력 App 만들어보기

이번에 만들어 볼 것은 달력입니다. 구성은 간단합니다. 달력 구성에는 CollectionView를 사용했으면 계산으로는 DateComponent를 사용했습니다. 하나하나씩 따라 해주시면 됩니다. 1. Storyboard에 CollectionView 생성 storyboard에서 collectionView를 생성합니다. 저는 간단히 월 단위를 제어하는 뷰를 생성하여 top에 맞추어 주었고, 그 밑에는 간단히 CollectionView를 넣어주었습니다. 이 CollectionView에서 요일 섹션과 일 별 섹션을 나누어 할당할 것입니다. Cell은 커스텀 셀을 사용했습니다. 2. 커스텀 Cell 생성 사실 이번 앱에서는 셀을 이용한 기능이 없기 때문에 커스텀 셀을 사용하지 않아도 되지만, 저는 주로 커스텀 뷰..

Swift/데모 개발 2020.04.27

[Swift] iPad 멀티태스킹 대응 시 확인할 것

이번에는 iPad에서 제공하는 멀티태스킹에 대하여 제 경험을 살려 확인해야 할 것과 수정이 필요한 부분에 대하여 설명드리겠습니다. 멀티태스킹에는 크게 두 가지로 나누어집니다. Split View와 Slide Over 간단히 이 둘의 차이라고 하면 화면을 분할해서 사용하냐 아니면 2중으로 그 위에 덮어서 사용하냐 정도가 됩니다. 참조 https://support.apple.com/ko-kr/HT207582 iPad에서 멀티태스킹 사용하기 iPadOS에서는 멀티태스킹을 사용하여 동시에 두 개의 앱으로 작업하고, 비디오를 시청하면서 이메일에 답장하고, 제스처를 사용하여 앱을 전환하는 등 다양한 작업을 수행할 수 있습니다. support.apple.com 제가 프로젝트 개발에 있어서 중간에 이 멀티태스킹 기능을..

Swift/이슈 대응 2020.04.14

[Swift] 가위 바위 보 게임 만들기 - Step 2

이전에 만든 앱에서 디자인과 판 수를 설정할 수 있도록 추가해 보겠습니다. 디자인은 무료 디자인을 사용했으며 글씨같은 것은 직접 포토샵으로 만들었습니다. (디자인이 제일 힘든 것 같습니다...) 이번에도 어련운 것은 없기 때문에 빠르게 진행해 보겠습니다. 1. Storyboard에 디자인 작성 이번에는 딱히 화면전환을 만들지 않고 그냥 그 위에 커버 뷰를 하나 생성하여 씌웠다가 표시하고 숨기고 하는 방식으로 진행하였습니다. 향후에 메인 화면 게임 화면을 구성하여 만들고 싶으신 분은 추가해서 대응하시면 될 것 같습니다. 2. 판수 설정 판을 5전 3승과 같이 설정할 수 있도록 하는 메소드를 작성해 보겠습니다. 우선 게임 스타트 버튼을 눌렀을 때 보여지고 있는 커버 뷰를 지우고 이긴 횟 수, 진 횟 수를 초..

Swift/데모 개발 2020.04.05

[Swift] 가위 바위 보 게임 만들기 - Step 1

저번 스톱워치를 만들고 나서 다음에는 어떤 것을 만들어 볼까 생각하다가 현재 진행 중인 개인 프로젝트도 있고 해서 연습 삼아 간단한 게임을 하나 만들어보려고 합니다. 크게 어려움은 없어서 따라 하기 쉽거나 아니면 더욱 쉽게 만드실 수 있을 거라고 생각합니다. (이런 저런 것을 사용해보면서 감각을 늘려나가신다 생각하시면 될 것 같습니다.) 1. Storyboard에 디자인 작성 자신의 감각을 살려서 간단하게 디자인을 만들어줍니다. 저 같은 경우는 컴퓨터의 출력 값을 나타내는 라벨, 이겼는지 졌는지 혹은 비겼는지를 나타내는 결과 라벨 그리고 자신이 낼 수 있는 가위, 바위, 보 각각의 버튼 그 버튼들을 감싸는 스택 뷰 정도만 사용하였습니다. (제약은 결과 라벨을 중앙을 기준으로 적당히 설정하였습니다.) 2...

Swift/데모 개발 2020.04.05

[Swift] UICollectionView에 .xib커스텀 셀을 적용해보기

저번에 테이블 뷰에 커스텀 셀을 적용하는 방법을 해보았었는데 이번에는 컬렉션 뷰를 사용해서 같은 방식으로 커스텀 셀을 적용해 보겠습니다. 컬렉션 뷰는 테이블 뷰보다 좀 더 난이도가 있다고 생각합니다. (이것저것 조절해야 할 것도 많습니다...) 그래도 잘 활용할 줄만 안다면 자신의 App의 표현력을 높일 수 있을 것이라고 생각합니다. 구성은 거의 테이블 뷰와 비슷합니다. 그렇다면 한 번 알아보겠습니다. 1. Storyboard에 CollectionView 생성 storyboard에서 collectionView를 생성합니다. 아래와 같이 좌상단에 조그만 사각형 셀이 보입니다. 하지만 이번에 해보는 것은 커스텀 셀이기 때문에 그냥 넘기겠습니다. 2. CollectionView 설정 최소한의 기능을 사용하여 ..

Swift/학습 2020.03.15

[Swift] StopWatch 만들어보기 - Step 2

전 글에서 제작한 베이스에서 타임 기능 등을 추가해 타임 워치를 완성시켜보겠습니다. 추가될 기능은 아래와 같습니다. 1. 시작과 기록의 상태를 관리하는 변수 2. 타이머 3. 테이블 뷰를 자동으로 스크롤시키기 그럼 시작해보겠습니다. 1. State 설정 저는 시작 버튼으로 기록까지 기능을 구현할 것이기 때문에 상태를 지정해서 처리를 나눌 수 있도록 해보았습니다. 그러기 위해서 enum을 사용해서 상태를 관리하는 것이 편합니다. 그리고 초기 설정을 지정! /// 시작과 기록의 상태 enum WatchStatus { case start case stop } /// 버튼의 상태 var watchStatus: WatchStatus = .start 2. 타이머 개시 이제 타이머를 실행해 보겠습니다. 타이머의 ti..

Swift/데모 개발 2020.03.07

[Swift] StopWatch 만들어보기 - Step 1

오늘은 간단한 프로젝트를 하나 진행해보겠습니다. 주제는 타임 워치입니다. 간단하면서도 뭔가 만들었다는 성취감을 느낄 수 있는 프로젝트가 될 것 같습니다. 이번 글에서의 스톱 워치는 기능으로는 아래와 같습니다. 1. 시작 2. 기록 (버튼으로는 Stop) 3. 리셋 (한 번 누를 시 모든 기록 삭제, 모든 기록이 삭제되어 있는 상태에서 한 번 더 누르면 종료) 그러면 Step 1으로서 디자인 과정부터 시작해보겠습니다. 1. 프로젝트 생성 가장 처음에 진행하는 작업인 프로젝트 생성입니다. 자유롭게 프로젝트 명 설정을 해주시면 됩니다. 2. 디자인 구성 제가 이번 과정에서 쓴 컨트롤은 라벨, 버튼, 테이블 뷰, 테이블 뷰 셀입니다. 그리고 라벨과 버튼 같은 경우는 여러 개를 나열해서 사용하기 때문에 스택 뷰를..

Swift/데모 개발 2020.03.07
728x90