페이지 컨트롤은 여러 개의 내용을 페이지별로 보여주기 위해 사용하는 객체이다. 보통 아이폰에서 아래 쪽으로 작은 동그라미가 줄지어 있는 형태로 많이 사용되며, 이번 포스팅에서는 간단하게 페이지 컨트롤을 활용하여 이미지를 각 페이지에 나타내는 예제를 해보려고 한다. 바로 코드와 함께 보자. 우선, 스토리보드는 다음과 같이 이미지 뷰 하나와 하단에 페이지 컨트롤을 둔 간단한 형태로 구성한다. 코드 또한 굉장히 간단하다. 이미지의 이름이 들어가 있는 배열을 하나 생성하고, 페이지 컨트롤의 액션 함수가 페이지 번호에 따른 이미지를 이미지 뷰에 삽입하는 형태이다. 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..
기본적인 ImageView의 사용을 훓어보려고 한다. 예제는 하나의 이미지 뷰에 2장의 사진을 switch로 변경 가능하고, "확대" 버튼을 누르면 사진의 크기가 2배 커지도록 동작하는 예제를 실습해보려고 한다. 바로 들어가보자. 우선, 스토리보드는 아래와 같이 구성한다. 각 엘리먼트를 swift 객체와 연결한 뒤에 아래와 같이 사진 크기를 조절할 확대 버튼 이벤트 메서드와 switch on, off 에 따른 이벤트 메서드를 추가하면 끝이다. // // ViewController.swift // example_project2 // // Created by choonham on 2022/12/12. // import UIKit class ViewController: UIViewController { var..
그 동안 swift 기반 ios App을 제작하기에 앞서 swift의 기본적인 문법을 다뤘다. 이제 길었던 문법 정리를 끝내고, 본격적으로 xCode에서 ios 앱을 직접 만들어보면서 공부할 시간이다! 언어를 처음 시작하면 Hello, World 부터 배우는 것처럼 마찬가지로 레이블 2개와 텍스트 필드, 버튼으로 구성된 간단한 어플, "Hello, Swift" 를 만들어보자. - 기본적인 xCode의 단축키나 프로젝트 생성 방법 등은 따로 다루지 않을 예정이다. 우선, example_project1 이라는 이름으로 프로젝트를 하나 생성하고, 스토리보드에 아래와 같이 library를 추가한다. (라이브러리 추가 단축키는 cmd + shift + L) 스토리보드 셋팅 후에 assistance 창 viewCo..
Swift 또한 다른 언어와 마찬가지로 여러 접근제어자를 제공하여 특정 코드의 접근을 다른 소스파일이나 모듈에서 제한할 수 있다. 접근 제어는 클래스, 구조체 , 열거형 등 개별 타입에도 적용할 수 있고, 그 타입에 속한 프로퍼티, 메서드, 생성자, 서브스크립트에도 적용할 수 있다. 바로 알아보도록 하자. Swift의 접근 제어는 모듈과 소스파일에 기반을 두고 있다. 모듈은 코드를 배포하는 단일 단위로 하나의 프레임워크나 앱이 이 단위로 배포되고 다른 모듈에서 Swift의 Import 키워드를 사용하여 import 될 수 있다. 1. 접근 레벨 Swift에서는 5개의 접근 레벨을 제공한다. 1) Open & Public: Open과 Public 접근자 모두 선언한 모듈이 아닌 다른 모듈에서 사용 가능하다..
제네릭은 Java에서 사용하는 제네릭의 개념과 매우 유사한 내용의 개념이다. 제네릭을 사용하면 좀 더 유연하고 재사용 가능한 함수와 타입의 코드를 작성하는 것을 가능하게 해준다. 1. 제네릭 함수 우선 제네릭 함수는 아래와 같이 를 사용한다. 아래는 inout 인자를 받아 참조되는 변수의 값을 바꾸는 swap 함수를 제네릭을 사용하여 구현한 것이다. func swapTwoValues(_ a: inout T, _ b: inout T) { let temporaryA = a a = b b = temporaryA } swift는 실제 실행하는 타입 T가 어떤 타입인지 보지 않는다. swapTwoValues 함수가 실행되면 T에 해당하는 값을 함수에 넘긴다. var someInt = 3 var anotherInt..
- AsyncStorage
- 파니노구스토
- 정보보안기사 #실기 #정리
- redux
- 이탈리안 레스토랑
- Promise
- redux-thunk
- react-native
- 맛집
- 인천 구월동 맛집
- javascript
- 인천 구월동 이탈리안 맛집
- Async
- await
- react
- Total
- Today
- Yesterday