[iOS/부스트 코스] iOS 앱 프로그래밍: Sign Up(3-1) - 기능 구현하기(1)
·
iOS 프로젝트
[iOS/부스트 코스] iOS 앱 프로그래밍: Sign Up(3) - 기능 구현하기 안녕하세요. 개발하는 정주입니다. 오늘은 네이버 부스트 코스 프로젝트 B-Sign Up의 화면 구성하기를 포스팅하려고 합니다. 기능 구현은 로그인 화면, 회원 가입(기본 정보) 화면을 1편, 회원 가입(부가 정보) 화면을 2편으로 나눴습니다. 목차 공통 텍스트 필드를 편집 중일 때 화면 빈 공간을 터치하면 키보드가 내려가고 편집이 종료되는 기능은 모든 화면에 적용되어야 합니다. 해당 기능 구현 및 분석은 따로 포스팅을 진행하였으니 확인해주시면 감사하겠습니다! 2021.12.03 - [iOS/iOS 개발] - [iOS/Swift 5] iOS 개발 - 화면 터치 시 키보드 내리는 방법 / touchesBegan() / end..
[iOS/Swift] UIImagePickerController에서 PHPickerViewController로 변경된 이유
·
iOS/개념 & 개발
안녕하세요. 개발하는 정주입니다. 오늘은 UIImagePickerContoller에서 PHPickerViewController로 변경된 이유에 대해 포스팅하려고 합니다. 현재 제 실력으로 소화한 내용만 작성하였습니다. 시간이 흐른 뒤 실력이 늘면 내용이 업데이트될 수도 있습니다. 틀린 점이 있다면 댓글로 알려주세요. 즉시 수정하겠습니다. UIImagePickerContoller UIImagePickerContoller는 기존 iOS에서 사용되는 이미지, 영상을 선택, 편집뿐만 아니라 카메라까지 사용할 수 있는 유용한 클래스였습니다. 공식 문서에선 "A view controller that manages the system interfaces for taking pictures, recording movi..
[iOS/Swift] 화면 터치 시 키보드 내리는 방법 / touchesBegan() / endEditing() / first responder
·
iOS/개념 & 개발
[iOS/Swift] 화면 터치 시 키보드 내리는 방법 / touchesBegan() / endEditing() / first responder 안녕하세요. 개발하는 정주입니다. 오늘은 화면 터치 시 키보드를 내리는 방법에 대해 포스팅하려고 합니다. 해당 포스팅에서는 화면의 빈 공간을 눌렀을 때 키보드가 내리는 방법에 대해 기술합니다. View를 눌렀을 때 등의 응용은 스스로 생각해보세요! 조금만 응용하면 가능합니다. 바로 시작합니다. 코드 override func touchesBegan(_ touches: Set, with event: UIEvent?) { self.view.endEditing(true) } 코드 자체는 상당히 짧습니다. 하지만 모르는 것 투성이었습니다. 첫 번째로 touchesBega..
[iOS/부스트 코스] iOS 앱 프로그래밍: Sign Up(2) - 화면 구성하기
·
iOS 프로젝트
[iOS/부스트 코스] iOS 앱 프로그래밍: Sign Up(2) - 화면 구성하기 안녕하세요. 개발하는 정주입니다. 오늘은 네이버 부스트 코스 프로젝트 B-Sign Up의 화면 구성하기를 포스팅하려고 합니다. 목차 공통 모든 화면은 가로로 돌렸을 때 사용성에 이상이 없을 정도의 레이아웃이어야 합니다. 예를 들어, 버튼 가려지거나, 지나치게 레이아웃이 훼손이 되면 안 됩니다. 이를 생각하고 모든 화면을 구성하였습니다. 로그인 화면 로그인 화면입니다. 최상단에 로고 이미지가 있고 ID 텍스트 필드와 Password 텍스트 필드가 있습니다. 그 아래에는 Sign In, Sign UP 버튼이 있습니다. 이 화면에서 헤맨 점은 기기를 가로로 눕혔을 때 레이아웃 배치입니다. 하단 버튼의 bottom 제약을 주지 ..
[iOS/부스트 코스] iOS 앱 프로그래밍: Sign Up(1) - 사전 탐구
·
iOS 프로젝트
[iOS/부스트 코스] iOS 앱 프로그래밍: Sign Up(1) - 사전 탐구 안녕하세요. 개발하는 정주입니다. 오늘은 네이버 부스트 코스 프로젝트 B-Sign Up의 사전 탐구에 대해 포스팅하려고 합니다. 목차 화면 1 - 로그인 화면 Password TextField는 마스킹이 되어야 한다. 화면 2 - 회원가입 화면(기본정보) 프로필 이미지의 비율은 1:1이다. 프로필 이미지는 원본 비율을 유지해야 한다. 세 개의 TextField는 여백이 동일하다(균등 분배). 패스워드와 패스워드 체크 TextField는 마스킹이 되어야 한다. 중간 자기소개 TextField는 상하 View를 배치한 뒤 빈 여백을 모두 채운다. 자기소개 TextField는 내부 패딩이 존재하며 왼쪽 위부터 글자가 작성된다. 다..
[iOS/부스트 코스] iOS 앱 프로그래밍: Music Player(4) - 오토 레이아웃 적용 / 코드로 View 생성
·
iOS 프로젝트
[iOS/부스트 코스] iOS 앱 프로그래밍: Music Player(4) - 오토 레이아웃 적용 / 코드로 View 생성 안녕하세요. 개발하는 정주입니다. 오늘은 오토 레이아웃 적용과 코드로 View 생성에 대해 포스팅하려고 합니다. 참고로 iOS에서는 인터페이스 빌더로 화면을 구성하는 방법과 코드로 화면을 구성하는 방법이 다릅니다. 스토리보드를 이용하면 눈에 보이기 때문에 화면 구성이 편리하다는 장점이 있지만 협업에서 머지 과정 중에 충돌이 자주 발생한다는 단점이 있습니다. 코드를 이용하면 직관성은 떨어져도 협업에서는 오히려 더 편하다고 합니다. 결론은 둘 다 사용해야 한다는 점! 화이팅입니다. 오토 레이아웃 적용 (인터페이스 빌더) 인터페이스 빌더로 오토 레이아웃 적용을 먼저 해보겠습니다. 하는 방..
[iOS/부스트 코스] Cocoa Touch, UIKit, Foundation 정리
·
iOS/개념 & 개발
[iOS/부스트 코스] Cocoa Touch, UIKit, Foundation 정리 안녕하세요. 개발하는 정주입니다. 오늘은 iOS 앱 프로그래밍 - Cocoa Touch, UIKit, Foundation에 대해 포스팅하려고 합니다. Cocoa Touch Layer 코코아 터치 계층은 iOS 앱 개발에 주 축을 이루는 개발 환경으로, 앱의 기능 구현에 필요한 다양한 프레임워크를 포함하는 최상위 프레임워크 계층입니다. Cocoa라는 단어는 Objective-C 런타임을 기반으로(동적 작동) 하고, NSObject를 상속받는 모든 클래스나 객체를 가리킬 때 사용합니다. Cocoa Touch는 핵심 프레임워크인 UIKit과 Foundation을 포함합니다. UIKit UIKit은 iOS 앱의 사용자 인터페이스..
[iOS/부스트 코스] iOS 앱 프로그래밍: Music Player(3) - 기능 구현
·
iOS 프로젝트
[iOS/부스트 코스] iOS 앱 프로그래밍: Music Player(3) - 기능 구현 안녕하세요. 개발하는 정주입니다. 오늘은 Music Player(3) - 기능 구현에 대해 포스팅하려고 합니다. 구현해야 하는 기능 종류 1. 버튼을 누르면 음원이 play/pause가 되고 아이콘이 바뀐다. 2. 음원 진행 사항에 따라 Slider와 타임 레이블의 텍스트가 변경된다. 3. Slider를 움직이면 타임 레이블 텍스트가 변경된다. 4. Slider를 움직이는 동안은 음원이 계속 재생된다. 5. Slider를 놓으면 해당 지점으로 음원이 점프된다. 6. 재생이 끝나면 play 버튼으로 변경되고 Slider와 타임 레이블이 초기화된다. 음원 기능 iOS에서 음원은 AVAudioPlayer 클래스를 이용합니..
[자료 모음] 유용한 개발 자료 링크 모음 (2022-01-12)
·
IT 소식
안녕하세요. 개발하는 정주입니다. 개인 공부용으로 유용한 개발 자료 링크를 모았습니다. 대분류 종류를 적어놓겠습니다. 필요한 분류를 Command + F로 검색해서 빠르게 찾으세요. 목차 Apple 앱스토어 심사 지침 https://developer.apple.com/kr/app-store/review/guidelines/ Human Interface Guidelines https://developer.apple.com/design/human-interface-guidelines/ios/overview/themes/ 버그 리포트 https://developer.apple.com/bug-reporting/ 애플 개발자 뉴스 https://developer.apple.com/kr/news/ iPhone 타입..
[iOS/부스트 코스] iOS 앱 프로그래밍: Music Player(2) - 화면 구성
·
iOS 프로젝트
[iOS/부스트 코스] iOS 앱 프로그래밍: Music Player(2) - 화면 구성 안녕하세요. 개발하는 정주입니다. 오늘은 iOS 앱 프로그래밍 Music Player 화면 구성에 대해 포스팅하려고 합니다. 오토 레이아웃은 추후 작업합니다. 첫 번째 프로젝트인 만큼 아주 간단합니다. Play/Puase 버튼 버튼을 추가해줍니다. 라이브러리 추가 단축키는 Command + Shift + L입니다. Object에 Button을 검색해도 되고 왼쪽에 보이는 Button으로 추가해도 됩니다. 버튼의 Type은 Custom으로 변경하고 Style은 Default로 변경합니다. Type을 변경하는 이유는 버튼에 이미지를 넣기 위해서 입니다.위해서입니다. Style을 변경하는 이유는 Selected에 따라 이..
[iOS/부스트 코스] iOS 앱 프로그래밍: Music Player(1) - 사전 탐구
·
iOS 프로젝트
[iOS/부스트 코스] iOS 앱 프로그래밍: Music Player(1) - 사전 탐구 안녕하세요. 개발하는 정주입니다. 오늘은 Music Player 사전 탐구에 대해 포스팅하려고 합니다. 예제를 따라 하고, 구현해보기 전에 결과물 영상을 보며 어떤 특징이 있는지, 어떤 점이 핵심인지 탐구해보는 시간을 가졌습니다. 레이아웃 모든 뷰가 가로 중앙 정렬된다. 기기를 회전해도 비율 유지된다. 기능 버튼을 누르면 음원이 play/pause가 되고 아이콘이 바뀐다. 음원 진행 사항에 따라 Slider와 타이머가 변경된다. Slider를 움직이면 타이머 숫자가 변경된다. Slider를 움직이는 동안은 음원이 계속 재생된다. Slider를 놓으면 해당 지점으로 음원이 점프된다. 재생이 끝나면 play 버튼으로 변..
[iOS/Swift] 에셋(Asset) 추가하는 방법 / 이미지 넣기
·
iOS/개념 & 개발
[iOS/Swift] 에셋(Asset) 추가하는 방법 / 이미지 넣기 안녕하세요. 개발하는 정주입니다. 오늘은 에셋(Asset)에 대해 포스팅하려고 합니다. 그럴듯한 앱을 만들기 위해서는 이미지 소스나 효과음 같은 음악 소스를 넣어주면 좋습니다. 그러기 위해서는 에셋에 대해 반드시 알아야 하는데요. 바로 시작합니다. 에셋 카탈로그 Xcode에서 프로젝트를 생성하면 Assets.xcassets 폴더가 자동으로 만들어집니다. 이 폴더를 에셋 카탈로그라고 부르며 앱에서 사용될 다양한 에셋을 관리해주는 역할입니다. 에셋 카탈로그는 에셋과 디바이스 속성(디바이스 특징, 사이즈, 주문형 리소스, 특정 타입의 정보 등)에 대한 파일의 맵핑을 통해서 앱 리소스에 쉽게 접근할 수 있도록 도와줍니다. https://hel..
[iOS/부스트 코스] iOS 앱 프로그래밍 - iOS 앱 프로그래밍 부스트 코스 시작
·
iOS 프로젝트
[iOS/부스트 코스] iOS 앱 프로그래밍 - iOS 앱 프로그래밍 부스트 코스 시작 안녕하세요. 개발하는 정주입니다. 오늘은 iOS 앱 프로그래밍 부스트 코스에 대해 포스팅하려고 합니다. 시작 다짐 iOS 앱 프로그래밍 부스트 코스는 개념 부분과 프로젝트 부분으로 진행됩니다. 블로그에는 개념 부분과 프로젝트 진행 사항을 기록하려고 합니다. 프로젝트 파일은 Git에 private repository로 업로드할 것입니다. 원래는 public으로 진행하려고 했지만 부스트 코스의 규칙으로 인해 공개된 repository에 올리기로 한 계획을 수정하였습니다. 조금씩 꾸준히 진행하고자 합니다. +수정 첫 프로젝트인 Music Player는 강사의 코드를 따라가는 형태입니다. 첫 프로젝트는 public으로 업로드..
[Swift 5/부스트 코스] iOS 프로그래밍을 위한 스위프트 기초 - Quiz 2-1 오답 노트
·
Swift/개념 & 응용
[Swift 5/부스트 코스] iOS 프로그래밍을 위한 스위프트 기초 - Quiz 2-1 오답 노트 안녕하세요. 개발하는 정주입니다. 오늘은 Quiz 2-1에서 틀린 문항에 대해 포스팅하려고 합니다. 코드를 제대로 보지 않고 제출을 한 것이지만 실수도 안 하는 것이 좋으니 포스팅을 하며 다시 다짐하려고 합니다. 사용자 정의 타입 퀴즈 저는 Quiz 2-1의 Q3을 틀렸습니다. 구조체와 클래스의 차이점에 관한 문제로 var, let으로 property를 정의하고 let 객체를 만들었을 때 객체의 property를 수정할 수 있는가에 대한 내용입니다. struct MyStruct { var propertyA: Int = 10 let propertyB: Int = 10 } class MyClass { var ..
[Swift 5/부스트 코스] iOS 프로그래밍을 위한 스위프트 기초 - guard (1-25) 생각해보기 / if와 guard
·
Swift/개념 & 응용
[Swift 5/부스트 코스] iOS 프로그래밍을 위한 스위프트 기초 - guard (1-25) 생각해보기 / if와 guard 안녕하세요. 개발하는 정주입니다. 오늘은 guard에 대해 포스팅하려고 합니다. 부스트 코스 1-25 내용입니다. 생각해보기를 통해 if와 guard의 차이점도 함께 알아보도록 합시다. http://www.boostcourse.org/mo122/lecture/11313 iOS 프로그래밍을 위한 스위프트 기초 부스트코스 무료 강의 www.boostcourse.org 생각해보기 if와 guard는 뭐가 다를까요? if와 guard 모두 특정 조건에 따라 분기한다는 점은 동일합니다. 따라서 특정 상황을 제외하면 둘 중 무엇을 선택해도 코드 로직에 영향을 주진 않을 것입니다. 여기서 ..
유정주
'SWIFT' 태그의 글 목록 (29 Page)