본문 바로가기

전체 글

(77)
[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 객체를 로..
[6장] Alert Alert 경고 메시지를 표시하고, 유저에게 행동을 선택하도록 제시할 수 있습니다. Alert를 발생하는 코드는 다음과 같습니다. let lampOnAlert = UIAlertController(title: "경고", message: "현재 On 상태입니다", preferredStyle: UIAlertController.Style.alert) let onAction = UIAlertAction(title: "네, 알겠습니다.", style: UIAlertAction.Style.default, handler: nil) lampOnAlert.addAction(onAction) present(lampOnAlert, animated: true, completion: nil) UIAlertAction으로 Aler..
[5장] Picker View Picker View 아이폰을 사용하다 보면 만나게 되는 아래 화면이 Picker view입니다. Picker View 적용하기 Picker View를 사용하기 위해서는 delegate method를 이용해야 합니다. View controller에서 picker view에 대한 delegate method를 사용한다고 설정합니다. ViewController에 UIPickerViewDelegate, UIPickerViewDataSource를 상속받습니다. 아래 코드처럼 용도에 맞는 delegate method를 이용하면 됩니다. import UIKit class ViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource { ..
[4장] Date Picker Date Picker 날짜나 시간을 선택할 때 사용하는 객체입니다. Date Formetter 날짜와 그것을 string으로 표현한 것 간의 변환을 지원하는 클래스입니다. 날짜는 NSDate를 이용합니다. func printTime() { let date = NSDate() let formatter = DateFormatter() formatter.dateFormat = "yyyy-MM-dd HH:mm:ss EEE" print("현재시간: " + formatter.string(from: date as Date)) } Timer 타이머는 정해진 시간에 설정한 함수를 실행시킬 수 있습니다. 타이머로 함수를 지정하기 위해서는 함수를 지정하는 Selector 객체가 필요합니다. 함수를 Selector로 지정하기..
[3장] image view Image View 사진을 보여줄 때 사용하는 객체입니다. 클래스는 UIImageView입니다. Content mode Scale to Fill default, 이미지 뷰의 크기에 맞게 이미지 비율을 변경합니다. Aspect Fit 이미지 비율은 유지하면서 이미지 뷰에 크기에 맞게 조절합니다. image view 안에 그림이 다 들어오지만, 여백이 있을 수 있습니다. Aspect Fill 이미지 비율은 유지하면서, 이미지 뷰에 크기에 맞게 조절합니다. image view에 여백이 없도록 그림을 넣어서, 그림이 잘릴 수 있습니다. Center, Top, Top Left, Bottom, Left, Right 이미지 원본을 유지하고, 해당 부분을 image view에 출력합니다. Aspect Fit과 Aspe..
[2장] Hello World Xcode Xcode에서는 iPhone 개발만이 아니고 macOS, watchOC, tvOS 개발 환경도 제공합니다. 초기 생성 파일 Single View App 템플릿으로 시작하면 기본으로 파일이 생성됩니다. 기본 파일들의 역할은 다음과 같습니다. HelloWorld AppDelegate.swift 앱의 life cycle 관리 SceneDelegate.swift UI의 life cycle 관리 ViewController.swift 화면에 보이는 뷰에서 처리될 내용 뷰와 매칭 Main.storyboard 앱의 시각적으로 만들수 있도록 표현한 파일 Assets.xcassets 앱의 아이콘 LaunchScreen.storyboard 앱이 실행될 때 나타나는 스플래시 화면 Info.plist 앱이 실행되는데..
[1장] 아이폰 앱 개발 준비하기 개발 언어 최초의 아이폰 앱 개발 언어는 objective-c 였습니다. 하지만, 2014년 swift를 발표한 이후로 swift 사용이 증가하는 추세입니다. 2020년 jetbrain에서 설문조사를 보면 swift 사용 증가를 확인할 수 있습니다. 링크 처음 시작하면 object-c도 배워야 할까 고민을 하게 됩니다. 결론부터 말하면 object-c는 필요없습니다. 이미 개발된 레거시 앱이 object-c여서 유지보수를 위한 수요가 남아있을뿐, 새롭게 시작하는 분들에게는 object-c를 배울 필요까지는 없습니다. 개발환경 아이폰 앱 개발을 위해서는 IDE인 Xcode가 필요합니다. Xcode는 Appstore에서 다운받을 수 있으며(정말오래걸립니다), MacOS에서만 제공합니다. 즉, Macbook ..