본문 바로가기

iOS

(32)
[14장] Video 13장의 소리와 마찬가지로 미디어를 재생하는 경우도 많습니다. 미디어 재생하기 비디오 재생을 위해서는 AVKit을 추가해야 합니다. AVKit은 아이폰에서 미디어 재생에 필요한 기능(영상 재생, 자막, PIP 등)에 대한 인터페이스를 제공합니다. import AVKit 미디어 파일 불러오기 로컬 파일을 불러올 수도 있고, 외부 파일을 불러올수도 있습니다. class ViewController: UIViewController { @IBAction func btnPlayInternalMovie(_ sender: UIButton) { // 내부 파일 mp4 let filePath: String? = Bundle.main.path(forResource: "FastTyping", ofType: "mp4") let..
[13장] Audio 아이폰에서 노래를 재생하거나 소리를 녹음하는 것과 같이 소리와 관련된 동작이 많이 있습니다. 오디오 사용을 위한 준비 AVFoundation을 추가하고, AVAudioPlayerDelegate를 상속받습니다. 그리고 오디오 파일로 AVAudioPlayer를 생성합니다. import AVFoundation class ViewController: UIViewController, AVAudioPlayerDelegate { var audioPlayer: AVAudioPlayer! var audioFile: URL! override func viewDidLoad() { super.viewDidLoad() audioFile = Bundle.main.url(forResource: "Sicilian_Breeze", w..
[12장] Table View Table View 데이터를 목록 형태로 보여줄 수 있습니다. 목록의 항목을 선택하면 세부 정보를 확인할 수 있고 추가적인 동작을 수행할 수 있습니다. 아래와 같이 연락처와 설정 등 다양한 곳에서 Table View는 사용되고 있습니다. Table View Controller Table View는 Table View Controller를 추가해서 사용할 수 있습니다. Table 목록 보여 주기 section 개수와 section 안에 아이템 개수를 정하고 보일 데이터를 지정해줍니다. var items = ["책 구매", "철수와 약속", "스터디 준비하기"] var itemsImageFile = ["cart.png", "clock.png", "pencil.png"] class TableViewContro..
[11장] Navigation Navigation Controller 앱에서는 화면 이동이 매우 많습니다. tab bar와는 다르게 화면 간 연관성이 많고 데이터를 주고받아야 할 경우도 있습니다. Navigation Controller를 이용하면 화면간의 데이터를 주고받을 수 있습니다. Navigation Controller 추가하기 메뉴에서 [Editor > Embed in > Navigation Controller]를 선택하면 Navigation Controller가 추가됩니다. 화면 이동 추가하기 스토리보드에서 button을 우클릭 드래그해서 다른 뷰 컨트롤러에 놓아 show segue를 추가합니다. 뷰 전환 시 데이터 전달하기(뷰를 push할 때) 데이터를 전달하고자하는 view에는 받는 변수를 생성합니다. class Edit..
[10장] Tab bar Tab Bar Tab Bar는 아래 그림처럼, 아이콘 모양의 탭 부분을 의미합니다. 각 탭을 선택하면 다른 화면으로 이동합니다. Tab Bar Controller 여러 개의 뷰를 선택하고 보여줄 수 있는 Tab Bar를 제공하는 뷰 입니다. Tab Bar Contoller 추가하기 스토리보드를 선택한 상태에서 메뉴에서 [Editor > Embed in > Tab Bar Controller]를 선택하면 Tab Bar Controller가 추가됩니다. Tab Bar controller와 추가된 뷰를 연결하는 방법은 Tab bar Controller를 우클릭 드래그해서 해당 뷰에 가져가서, Relationship Segue의 view controller를 선택하여 segue를 추가합니다. Tab Bar 이용하..
[9장] Page control Page Control 아래 그림과 같이 여러 페이지 중에서 현재 페이지를 알려줍니다. Page Control 조작할 수 있는 속성값 numberOfPages - 페이지 컨트롤의 전체 페이지 수를 의미합니다. currentPage - 현재 페이지를 의미합니다. pageIndicatorTintColor - 페이지를 표시하는 부분의 색상을 의미합니다. currentPageIndicatorTintColor - 페이지 컨트롤에서 현재 페이지의 색상을 의미합니다.
[8장] Map View Map View 흔히 접할 수 있는 지도입니다. 직관적인 뷰라서 더 설명할 것도 없는 것 같습니다. 라이브러리에서는 Map Kit View로 사용됩니다. import MapKit을 해야 사용할 수 있습니다. 지도 보여주기 지도를 보여주기 위해서는 CLLocationManagerDelegate를 추가하고 CLLocationManager 객체를 생성합니다. CLLocationManagerDelegate는 LocationManager에서 발생한 이벤트들을 받는 메서드들을 제공합니다. CLLocationManager는 core location 관련 기능을 조작할 수 있는 객체입니다. class ViewController: UIViewController, CLLocationManagerDelegate { @IBO..
[7장] Web View Web View 웹 콘텐츠를 뷰 형태로 보여줄 수 있습니다. 라이브러리에서는 WebView 자체는 사용되지 않고 WebKit View를 사용해야 합니다. Flexible Space Bar Button Item 툴바의 아이템 간 간격을 통일시켜줍니다. Bar Button Item 툴바의 버튼으로 사용합니다. 아이콘 이미지를 변경할 수 있습니다. Activity Indicator View 로딩을 표시하기 위한 뷰입니다. WKWebView를 이용하기 위해서 할 일 1. import WebKit 해야 합니다. 2. 프로젝트의 타깃 설정에서 WebKit.framework를 추가합니다. WebKit View에 페이지 로딩하기 웹뷰 객체는 URLRequest 객체를 로딩합니다. URLRequest는 URL 객체를 로..