목록ios 앱 프로그래밍 ( boost course )/1. 음원 재생기 애플리케이션 (7)
쥐수의 공부노트
1. 오토레이아웃이란? - 아이폰이 다양한 사이즈와 화면 비율로 출시 되면서, 사이즈에 구애받지 않고 시각적으로 동일한 화면을 구현해야하는데 이를 위한 가장 편리하고 권장되는 방법이 바로 오토레이아웃이다. 오토레이아웃은 뷰의 제약 사항을 바탕으로 뷰 체계 내의 모든 뷰의 크기와 위치를 동적으로 계산한다. 오토레이아웃은 애플리케이션을 사용할 때 발생하는 외부 변경과 내부 변경에 동적으로 반응하는 사용자 인터페이스를 가능하게 한다. 오토레이아웃이 요구되는 외부 변경과 내부 변경에 대해 자세히 알아보자. 1-1. 외부 변경(External Changes) 외부 변경은 슈퍼뷰의 크기나 모양이 변경될 때 발생한다. 각각의 변화와 함께, 사용 가능한 공간을 가장 잘 사용할 수 있도록 뷰 체계의 레이아웃을 업데이트해..
1. UIKit 프레임워크 UIKit은 iOS 애플리케이션의 사용자 인터페이스를 구현하고 이벤트를 관리하는 프레임워크이다. UIKit 프레임워크는 제스처 처리, 애니메이션, 그림 그리기, 이미지 처리, 텍스트 처리 등 사용자 이벤트 처리를 위한 클래스를 포함한다. 또한 테이블뷰, 슬라이더, 버튼, 텍스트 필드, 얼럿 창 등 애플리케이션의 화면을 구성하는 요소를 포함한다. UIKit 클래스 중 UIResponder에서 파생된 클래스나 사용자 인터페이스에 관련된 클래스는 애플리케이션의 메인 스레드(혹은 메인 디스패치 큐)에서만 사용해야 한다. UIKit은 iOS와 tvOS 플랫폼에서 사용한다. 2. UIKit 기능별 요소 사용자 인터페이스 View and Control : 화면에 콘텐츠 표시 View Con..
1. 노래 데이터를 받아 AVAudioPlayer 지정 후 노래 길이 측정 - guard let을 이용하여 soundAsset에 Assets 파일에 sound라는 이름의 파일을 넣는다. 만일 sound라는 파일이 없으면 "음원을 찾을 수 없습니다."라는 문구 출력 후 함수를 종료한다. - sound라는 데이터가 있어서 soundAsset 변수에 저장이 되면, do 실행한다. AVAudioPlayer 클래스에 에셋 데이터를 넘겨서 해당 mp3 파일을 가진 객체를 생성 후 노래의 끝을 알기 위해 delegate를 채택한다. 만일 error가 발생하면 catch 내부의 문구 출력한다. - slider의 min값은 0 , max값은 노래의 길이 ( 노래 재생 시간), 값은 노래의 현재 길이로 설정한다. 2. T..
1. AVFoundation AVFoundation은 다양한 Apple 플랫폼에서 사운드 및 영상 미디어의 처리, 제어, 가져오기 및 내보내기 등 광범위한 기능을 제공하는 프레임워크이다. 1-1. AVFoundation 주요기능 미디어 재생 및 편집(QuickTime 동영상 및 MPEG-4 파일 재생/생성/편집, HLS 스트림 재생: 재생가능 파일 목록 링크) 디바이스 카메라와 마이크를 이용한 영상 녹화 및 사운드 녹음 시스템 사운드 제어 문자의 음성화 2. AVAudioPlayer Class 2-1. AVAudioPlayer 주요기능 파일 또는 메모리에 있는 사운드 재생(네트워크에 있는 사운드 파일은 재생 불가) 파일 재생 시간 길이의 제한없이 사운드 재생 여러 개 사운드 파일 동시 재생 사운드의 재생..
1. UIButton UIButton 클래스는 사용자의 상호 작용(터치/탭 등의 이벤트)에 반응해 미리 지정된 코드를 실행하는 컨트롤 요소이다. 1-1. 버튼 생성 3단계 버튼을 생성하고 버튼의 유형을 선택하세요. 버튼을 나타내기 위한 문자(타이틀)를 입력하거나, 이미지를 설정한 뒤 크기를 조정하세요. 버튼에 특정 이벤트가 발생할 때 작동할 하나 이상의 메서드를 연결하세요. 1-2. 버튼과 메서드 연결하는 방법 addTarget(_:action:for:) 메서드 사용 인터페이스 빌더에서 연결 (@IBAction) 2. UILabel UILabel은 한 줄 또는 여러 줄의 텍스트를 보여주는 뷰로, UIButton 등의 컨트롤의 목적을 설명하기 위해 사용하는 경우가 많다. 2-1. 레이블 생성 3단계 레이블..
1. IBOutlet 과 IBAction IBAction은 말그대로 Interface Bulider Action 으로, 입력을 받았을 때, 그 입력에 따른 Action을 할 것인지를 나타낸다. IBAction이 입력을 받았을 때, 데이터를 받아오는 것이다. IBAction과 IBOutlet 모두 앞에 @를 붙여 사용한다. 2. IBOutlet 과 IBAction 역할 IBOutlet과 IBAction 의 역할은 StoryBoard와의 연결고리를 담당한다. 변수나 함수를 정의할 때 앞에 @IBAction 또는 @IBOutlet 키워드를 통해 StoryBoard에서 버튼이나 레이블같은 컴포넌트와 연결이 가능하다. 3. IBOutlet 사용 playPauseButton 이라는 변수에 @IBOutlet을 붙여 ..
1. 에셋 카탈로그 : Xcode에서 프로젝트를 처음 생성하면 Asstes.xcassets 이라는 폴더가 자동으로 생성되는데, 이 폴더에서 애플리케이션에 사용될 다양한 에셋을 관리하며, 이를 에셋 카탈로그라고 합니다. 에셋 카탈로그는 에셋과 다양한 디바이스의 속성에 대한 파일의 연결을(mapping) 통해서 애플리케이션 리소스에 쉽게 접근할 수 있도록 도와줍니다. (리소스는 애플리케이션이 실행 중일 때 사용하는 이미지와 음악 파일 등을 말합니다.) 여기서 말하는 속성은 디바이스의 특징, 사이즈 클래스, 주문형 리소스, 특정 타입의 정보를 포함하고 있습니다. 2. 에셋 카탈로그의 구성 3. 에셋 카탈로그 타입 4. Assets에 이미지 넣기 자신이 원하는 이미지를 복사하여 Assets 파일에 붙여넣기 그러..