[iOS] iOS 프로그래밍 기초 13주차 정리
·
Study/iOS
오토레이아웃(Auto Layout)iOS 앱 개발에서 오토레이아웃(Auto Layout)은 다양한 화면 크기와 해상도에 맞춰 UI 요소들이 적절하게 재배치되도록 돕는 핵심 기능입니다. 오토레이아웃을 사용하면 다양한 디바이스와 화면 방향에 맞춰 유연하게 UI를 구성할 수 있습니다. 1. 오토레이아웃(Auto Layout)이란?오토레이아웃은 화면 크기나 해상도가 다른 디바이스에서 UI 요소들이 자동으로 크기와 위치를 조정하도록 만드는 기능입니다. 이를 통해 개발자는 다양한 화면 크기와 방향에 대응할 수 있는 반응형 UI를 손쉽게 구현할 수 있습니다. 2. 주요 개념Constraints (제약 조건)제약 조건은 UI 요소들 간의 상대적인 위치와 크기를 정의합니다. 예를 들어, 한 뷰가 부모 뷰의 왼쪽 상단에서..
[iOS] iOS 프로그래밍 기초 11주차 정리
·
Study/iOS
HIG (Human Interface Guidelines)란?1. HIG란 무엇인가?HIG는 Human Interface Guidelines의 약자로, 애플이 iOS 및 macOS 앱 개발자에게 제공하는 디자인 및 사용자 경험(UI/UX) 지침서입니다. HIG는 애플 생태계의 일관성과 품질을 유지하기 위해 설계되었으며, 개발자가 애플 디자인 철학에 부합하는 앱을 제작하도록 돕습니다. 이 가이드는 앱이 사용자 친화적이고, 직관적이며, 애플 디바이스의 플랫폼 특성을 최대한 활용할 수 있도록 안내합니다. 2. HIG의 목적일관성 유지: 애플 제품 전반에 걸친 UI/UX의 일관성을 보장하여 사용자가 앱을 처음 사용하더라도 직관적으로 익힐 수 있도록 돕습니다.사용자 경험 최적화: 간결하고 아름다운 디자인과 더불어..
[iOS] iOS 프로그래밍 기초 12주차 정리
·
Study/iOS
BMI 계산 앱 - 커스텀 클래스를 활용한 비디오 화면 연결1. 커스텀 클래스 생성 및 연결VideoViewController.swift라는 커스텀 클래스를 생성스토리보드의 비디오 화면에 해당 클래스를 연결스토리보드에서 비디오 화면을 선택한 뒤, 오른쪽 Identity Inspector에서 Class를 VideoViewController로 설정.2. 탭바와 비디오 화면 연결Tab Bar Controller를 활용해 비디오 화면을 탭바의 두 번째 탭으로 설정.커스텀 클래스를 통해 비디오 화면의 동작을 정의하고, 탭바에서 쉽게 접근할 수 있도록 구성. 스토리보드와 클래스를 연결하는 것은 identity inspector  앱 번들에서 리소스 파일 경로 가져오기Bundle.main.path(forResourc..
[iOS] iOS 프로그래밍 기초 10주차 정리
·
Study/iOS
Do it 스위프트로 아이폰 앱 만들기 입문 소스 실습 해보기 (08~19)Source: Do it 스위프트로 아이폰 앱 만들기 입문 08 맵 뷰로 지도 나타내기09 페이지 이동하기 - 페이지 컨트롤import UIKit// 이미지 파일 이름들을 배열로 저장var images = [ "01.png", "02.png", "03.png", "04.png", "05.png", "06.png" ]class ViewController: UIViewController { @IBOutlet var imgView: UIImageView! // 이미지를 표시할 UIImageView @IBOutlet var pageControl: UIPageControl! // 페이지 컨트롤 override f..
[iOS] iOS 프로그래밍 기초 9주차 정리
·
Study/iOS
AppDelegate.swift, SceneDelegate.swiftAppDelegate.swift와 SceneDelegate.swift 파일은 iOS 앱의 생명주기와 사용자 인터페이스를 관리하는 중요한 역할을 합니다. iOS 13 이후로 이 두 파일의 역할이 변경되었습니다.AppDelegate.swift1. 앱의 중요한 데이터 구조 초기화2. 앱의 scene 구성3. 앱 외부에서 발생한 알림(예: 배터리 부족, 다운로드 완료) 처리4. 앱 전체에 관련된 이벤트 처리5. 필요한 서비스 등록(예: Apple Push Notification 서비스)iOS 13 이후에는 AppDelegate에 Session Lifecycle 관리 역할이 추가되었습니다. 이는 Scene Session의 생성과 삭제를 관리하는 ..
[iOS] iOS 프로그래밍 기초 7주차 정리
·
Study/iOS
번들 ID(Bundle Identifier) Xcode의 번들 ID(Bundle Identifier)는 iOS 앱을 고유하게 식별하는 중요한 문자열입니다. 다음은 번들 ID에 대한 주요 설명입니다:번들 ID의 개념번들 ID는 앱을 구분하는 고유한 식별자로, 주민등록번호와 유사한 역할을 합니다[4]. 이는 Apple의 생태계 내에서 앱을 식별하고 관리하는 데 사용됩니다.번들 ID의 구조번들 ID는 일반적으로 역 도메인 이름 형식을 따릅니다:- 예: com.companyname.appname- 실제 구조: kr.co.mysite.myapp1중요성1. 고유성: 앱스토어에서 앱을 식별하는 데 사용되므로 고유해야 합니다.2. 프로비저닝: 개발 및 배포 프로세스에서 중요한 역할을 합니다.3. 앱 기능: 특정 앱 기..
[iOS] iOS 프로그래밍 기초 6주차 정리
·
Study/iOS
Swift 클래스 선언class 새로운클래스이름 : 부모클래스 { // 프로퍼티 // 인스턴스 메서드 // 타입(type) 메서드(클래스 메서드)} 클래스 구성 요소1. 프로퍼티   - 클래스 내에 포함되는 변수(var)와 상수(let)를 정의합니다.   - 객체의 상태를 나타냅니다.2. 인스턴스 메서드   - 객체가 호출하는 메서드를 정의합니다.   - 특정 인스턴스에 대한 동작을 수행합니다.3. 타입 메서드 (클래스 메서드)   - 클래스가 호출하는 메서드를 정의합니다.   - 클래스 전체에 관련된 동작을 수행합니다.  클래스에 저장 프로퍼티(stored property) 추가하기저장 프로퍼티는 클래스의 인스턴스와 연관된 값을 저장하는 프로퍼티입니다. Swift에서 저장 프로퍼티를 선..
[iOS] iOS 프로그래밍 기초 5주차 정리
·
Study/iOS
Swift 문자열 서식(swift string format 자릿수)Swift 문자열 서식을 사용하여 BMI 값을 소수점 첫째 자리까지 표시하는 예import Foundationlet weight = 60.0let height = 170.0let bmi = weight / (height * height * 0.0001)let shortenedBmi = String(format: "%.1f", bmi)var body = ""if bmi >= 40 { body = "3단계 비만"} else if bmi >= 30 && bmi = 25 && bmi = 18.5 && bmi  변수 선언 및 BMI 계산weight와 height 변수를 선언하여 각각 몸무게(kg)와 키(cm)를 저장합니다.BMI는 몸무게를 키..
[iOS] iOS 프로그래밍 기초 4주차 정리
·
Study/iOS
Swift에서의 argument와 parameter의 개념Parameter (매개변수)Swift에서 parameter는 함수나 메서드를 정의할 때 사용되는 변수입니다. 함수가 받아들일 수 있는 입력값의 이름과 타입을 지정합니다. func add(a: Int, b: Int) -> Int { return a + b} 여기서 a: Int와 b: Int가 parameter입니다.  Argument (인수)Argument는 함수나 메서드를 호출할 때 실제로 전달되는 값입니다. let result = add(a: 3, b: 5)  여기서 3과 5가 argument입니다. Swift의 특별한 점Swift에서는 argument label과 parameter name을 구분할 수 있습니다. 이는 Swift의 독특한..
[iOS] iOS 프로그래밍 기초 3주차 정리
·
Study/iOS
변수를 사용하여 문자열을 구성하고, 그 문자열을 출력하는 간단한 예제var name = "Hello"var age = 10var aa = "이름은 \(name)이고, 나이는 \(age)살입니다"//print = "이름은 \(name)이고, 나이는 \(age)살입니다"print(aa)  스위프트 상수의 값 할당// 상수 bookTitle을 선언하고, 타입을 String으로 지정합니다.let bookTitle: String// 변수를 선언하고 초기값으로 true를 할당합니다.var book = true// 조건문 시작: book의 값이 true인지 확인합니다.if book { // book이 true일 경우 bookTitle에 "iOS"를 할당합니다. bookTitle = "iOS"} else {..
[iOS] iOS 프로그래밍 기초 2주차 정리
·
Study/iOS
Mac 키보드 vs Windows 키보드 기본 수정 키Command (⌘)Windows (⊞)옵션 키Option (⌥)Alt제어 키Control (⌃)Ctrl삭제 키Delete (⌫)Backspace전체 선택Command + ACtrl + A복사Command + CCtrl + C붙여넣기Command + VCtrl + V실행 취소Command + ZCtrl + Z스크린샷Command + Shift + 4PrtScn애플리케이션 전환Command + TabAlt + Tab  시뮬레이터 선택 창  Mac iPhone 시뮬레이터 실행 화면 (Flappy Bird Game)   Google Play 스토어, App Store 앱 순위 사이트  Apple Swift 공식 가이드 (한글 가능)  The Swift Pr..
[iOS] iOS 프로그래밍 기초 1주차 정리
·
Study/iOS
iOS 앱 VS 안드로이드 앱 개발 차이점 정리항목iOS 앱 개발안드로이드 앱 개발개발 언어Swift, Objective-CJava, Kotlin개발 환경XcodeAndroid Studio플랫폼Apple의 iOSGoogle의 Android배포 방식App StoreGoogle Play StoreUI 디자인UIKit, SwiftUIXML 레이아웃, Jetpack Compose디바이스 종류iPhone, iPad, Apple Watch다양한 제조사의 스마트폰, 태블릿테스트 기기iOS 시뮬레이터, 실제 iOS 기기Android 에뮬레이터, 다양한 Android 기기사용자 인터페이스일관된 디자인 가이드라인 (Human Interface Guidelines)Material Design 가이드라인업데이트 주기정기적인 ..