이번 포스팅은 AVAudioPalyer를 이용하여 오디오 파일을 재생, 일시 정지 및 정지하는 방법과 볼륨을 조잘하는 방법 그리고 녹음하는 방법을 알아보려고 한다. 바로 들어가보자. 1. 오디오 재생 가장 먼저, 아래와 같이 재생, 일시정지, 정지 버튼과 현재 재생 시간, 끝 시간을 나타낼 레이블 두개 그리고 볼륨을 조절할 슬라이더와 재생 구간을 표시할 프로그래스바로 스토리보드를 구성한다. 기기에 따른 자동 레이아웃을 설정하기 위하여, 가로로 정렬된 아이템들은 가로 스택뷰로 묶고나서 모든 아이템들을 세로 스텍뷰로 묶는다. 하나의 스텍뷰로 모든 아이템들을 묶었으면, 상단과 좌우에 알맞는 제약 조건을 아래와 같이 걸어주자. 코드는 동작에 비해 조금 복잡하다고 느낄 수도 있지만, 막상 하나하나 뜯어보면 별 내..
데이터를 목록 형태로 보여 주기 위한 가장 좋은 방법은 테이블 뷰 컨트롤러를 이용하는 것이다. 테이블 뷰 컨트롤러는 사용자에게 목록 형태의 정보를 제공해 줄 뿐만 아니라 목록의 특정 항목을 선택하여 세부 사항을 표시할 때 유용하다. 이번 포스팅에서는 테이블 뷰를 사용하여 데이터를 목록 상에 표시하고 추가, 삭제 기능을 넣어 간단한 리스트 앱을 만들어 보려고 한다. 바로 확인해보자. 우선, 새 프로젝트를 하나 생성하고 Table View Controller 를 사용할 것이기 때문에 기존에 있던 ViewContoller.swift 파일과 스토리보드의 ViewController 를 선택하여 삭제한다. 이후에 Table View Contoller를 라이브러리 목록에서 찾아 추가한다. 이제 테이블에 들어갈 새로운..
직전 포스팅에서 다뤘던 탭 바의 경우, 보통 각 화면이 서로 연관성이 없는 경우가 많다. 그렇지만 앱 생태계에서 대부분의 화면 전환은 해당 뷰가 가지고 있던 데이터 또한 함께 넘겨야 한다. 이를 위해 iOS는 Navigation Controller를 사용하는데, 바로 한번 알아보도록 하자. 우선, 프로젝트를 새로 하나 생성한 뒤에 스토리보드에서 기존 뷰를 드래그하여 선택한 다음에 Editor > embed in > Navigation Controller 를 추가하면 아래와 같이 뷰가 하나 추가되며 연결된 상태가 된다. 이제 새로 추가된 뷰의 상단을 클릭하면 해당 Navigation View의 Title을 변경할 수 있다. 실습에서 하나의 뷰를 더 사용하여 화면 전환과 데이터 이동을 확인해보려고 하니 아래..
iOS 에서 하나의 앱에 여러 화면(View)를 넣을 때 일반적으로 많이 사용하는 것이 Tab Bar 다. 탭 바는 하단에 각각의 탭이 존재하고 이를 클릭할 때마다 다른 View를 보여주는 객체이다. 이번 포스팅에서는 DatePicker와 ImageView를 실습할 때 사용했던 스토리보드와 View를 가져와서 Tab Bar에 삽입하여 3가지의 View를 가진 어플을 만들어보려고 한다. 바로 들어가보자. 우선, 아무 객체도 추가하지 않은 빈 스토리보드 화면에서 아이폰 객체 하나를 전부 드래그 하여 선택한 후, editor -> embed in -> Tab Bar Controller 를 선택한다. 선택하고 나면 아래와 같이 처음에는 없던 탭 바 컨트롤러가 하나 추가되면서 자동으로 존재하던 뷰가 탭으로 추가된..
페이지 컨트롤은 여러 개의 내용을 페이지별로 보여주기 위해 사용하는 객체이다. 보통 아이폰에서 아래 쪽으로 작은 동그라미가 줄지어 있는 형태로 많이 사용되며, 이번 포스팅에서는 간단하게 페이지 컨트롤을 활용하여 이미지를 각 페이지에 나타내는 예제를 해보려고 한다. 바로 코드와 함께 보자. 우선, 스토리보드는 다음과 같이 이미지 뷰 하나와 하단에 페이지 컨트롤을 둔 간단한 형태로 구성한다. 코드 또한 굉장히 간단하다. 이미지의 이름이 들어가 있는 배열을 하나 생성하고, 페이지 컨트롤의 액션 함수가 페이지 번호에 따른 이미지를 이미지 뷰에 삽입하는 형태이다. import UIKit class ViewController: UIViewController { var images = ["01.png", "02.pn..
이번 포스팅은 ios 앱에서 지도, 위치 관련한 기능을 만들 때 필요한 Map View를 다뤄보려고 한다. Map View를 이용하여 위도와 경도, 그리고 범위를 설정하여 지도에 나타내고, 원하는 곳에 핀을 설치하여 해당 위치에 대한 설명을 추가하려고 한다. 바로 시작해보자. 우선, 스토리보드는 아래와 같이 현재위치, 위치1, 위치2 를 선택하여 지도에 나타낼 수 있도록 최상단에 세그먼트 컨트롤을 하나 추가하고 그 아래에 Map View 와 위치 설명을 나타내기 위한 레이블 두개를 셋팅한다. 각 객체를 @IBOutlet 변수로 연결해주고, 세그먼트 컨트롤러는 changeAction 함수를 구현하여 연결한다. import UIKit import MapKit class ViewController: UIVie..
이번 포스팅은 ios App 내부에서 url 주소를 호출하여 해당 웹사이트에 접속할 수 있게 해주는 WebView를 직접 간단한 웹브라우저를 하나 만들어 보면서 실습해보려고 한다. ios 12 버전 이후로는 webView 라이브러리가 deprecated 됐기 때문에 WebKit 을 import 하여 WKWebView를 사용하여야 한다. - 둘 다 구현하고 있는 메서드와 사용 방법은 동일하기 때문에 따로 문제가 될 건 없다. 바로 들어가보자. 우선, 기본적인 웹브라우저의 동작을 생각하여 스토리보드를 아래와 같이 작성했다. 텍스트 필드에 URL 을 입력하고, Go 버튼을 탭하면 해당 URL로 접속하며 WebView가 로드된다. WebView가 로드되는 동안 가운데 indicator가 돌면서 로딩 중이라는 것..
Alert는 화면에 경고 메시지를 표시하는 기능이다. 단순히 경고 메시지를 나타낸 후 확인만 하게 할 수도 있지만, 경고 메시지와 함께 두 가지 이상의 선택을 요구할 수도 있고 선택에 따라 특정 작업도 수행할 수 있다. 간단한 전구 예제를 작성해보면서 익혀보자. 우선, 마찬가지로 스토리보드부터 작성 후에 각 객체를 @IBOutlet 변수와 @IBAction 메서드에 연결해주자. 만들려는 예제가 전구 켜기, 끄기, 제거 버튼에 따라 경고 메시지를 띄운 뒤 이미지를 제어하는 예제이기 때문에 각 버튼 마다 액션 함수를 생성했다. // // ViewController.swift // example_project5 // // Created by choonham on 2022/12/13. // import UIKi..
Picker View는 아이폰에서 원하는 항목을 선택할 수 있게 해주는 객체로, picker 라고도 한다. 간단하게 아이폰 버전 콤보 콤보박스라고 생각하면 될 거 같다. 바로 한번 알아보자. 우선, 프로젝트를 생성한 뒤에 스토리보드를 아래와 같이 구성했다. 다음으로 각 객체를 @IBOutlet 객체를 생성하여 연결한다. @IBOutlet var pickerView: UIPickerView! @IBOutlet var itemSelected: UILabel! @IBOutlet var imageView: UIImageView! pickerView 예제는 @IBAction 메서드를 선언하여 구현하는 것이 아닌 PickerView에 대한 Delegate(위임자) 메서드를 선언하여 선택된 객체에 따른 동작을 구현한..
DatePicker는 ios가 날짜 선택을 위해 제공하는 라이브러리이다. DatePicker의 거의 모든 동작에 대한 Action 함수를 제공하고 있고, 거의 모든 아이폰 어플에서 날짜 선택 시 사용하고 있는 아주 사용성이 높은 라이브러리라고 할 수 있다. 우선 간단하게 현재 시간을 초단위로 갱신하며, DatePicker에서 선택한 날짜를 선택 시간 레이블 옆에 표시하는 예제를 작성해보며 익혀보도록 하자. 우선, 아래와 같이 라이브러리 탭을 열어 현재 시간과 선택 시간을 알려줄 레이블을 두개 놓고 DatePicker를 하나 중앙에 놓는다. DatePicker의 형태는 가장 보편적인 wheel, 그리고 날짜와 시간을 동시에 나타내도록 설정하였다. 이제 각 객체를 @IBOutlet, @IBAction으로 C..
- redux-thunk
- 맛집
- react
- redux
- 파니노구스토
- 정보보안기사 #실기 #정리
- react-native
- 이탈리안 레스토랑
- 인천 구월동 이탈리안 맛집
- Promise
- await
- Async
- 인천 구월동 맛집
- javascript
- AsyncStorage
- Total
- Today
- Yesterday