ios
-
[ios - Swift] 카메라, 앨범 권한 설정ios 2020. 12. 1. 20:00
오늘은 카메라 및 사진 권한 설정 및 사용방법에 대해 알아보도록 하겠습니다. 1. info.plist 카메라와 앨범에 접근할 수 있도록 권한을 요청합니다. value 에는 보여주고 싶은 말을 적어주시면 됩니다. 2. 권한 요청 override func viewDidLoad() { super.viewDidLoad() imagePickerController.delegate = self // 앨범 PHPhotoLibrary.requestAuthorization { (state) in print(state) } } override func viewDidLoad() { super.viewDidLoad() imagePickerController.delegate = self // 카메라 AVCaptureDevice...
-
[ios - Swift] Delegate를 사용해서 뷰에 데이터 전송하기ios 2020. 11. 30. 18:00
이번 글에서는 델리게이트를 사용해서 뷰에 데이터를 전송하는 것을 목표로 코드를 작성했습니다. A, B 컨트롤러를 구현 후 A 컨트롤러에서는 데이터 전송, B 컨트롤러에서는 데이터를 수신을 할 수 있도록 하겠습니다. 이미지와 같이 A, B 두 가지의 UIViewController와 클래스를 구현합니다. 뷰 구현이 끝났다면. Swift 파일을 생성 후 사용할 델리게이트 코드를 작성해 주도록 합니다. import Foundation protocol MessageDelegate : class { func SendMessage(pMessage: String?) } 프로토콜이 무엇인지는 검색하면 자세히 나오니 궁금하신 분은 따로 찾아보면 됩니다. 먼저 데이터를 전송받을 B 컨트롤러를 구현하도록 할 텐데 작성한 Me..
-
[ios - Swift] 키보드 사용시 뷰 올리기ios 2020. 11. 26. 10:27
이번 글에서는 키보드 사용 시 키보드에 화면이 가려지지 않도록 UIView를 애니메이션을 사용해 올려보도록 하겠습니다. 우선 기본 키보드가 올라가거나 내려가는 것을 알아야 애니메이션을 사용할 수 있으니 옵져버를 등록하겠습니다. // 반드시 옵져버를 리무브 할것! override func viewWillAppear(_ animated: Bool) { // 옵져버를 등록 // 옵저버 대상 self // 옵져버 감지시 실행 함수 // 옵져버가 감지할 것 NotificationCenter.default.addObserver(self, selector: #selector(keyboardUp), name: UIResponder.keyboardWillShowNotification, object: nil) Notifi..
-
[ios - Swift] UITableView 특정 위치로 이동ios 2020. 11. 26. 09:54
1. scrollToRow IndexPath의 section과 row의 위치로 이동을 하게 됩니다. 아래와 같은 확장 메서드를 만들어 사용해보도록 하겠습니다. import Foundation import UIKit extension UITableView { func GoToBottom() { DispatchQueue.main.async { let section = self.numberOfSections - 1 let row = self.numberOfRows(inSection: section) - 1 let indexPath = IndexPath(row: row, section: section) self.scrollToRow(at: indexPath, at: .bottom, animated: false)..
-
[ios - Swift] UIView.Xib 사용하기ios 2020. 11. 24. 23:00
지난 글에서는 UITableViewCell을 Xib 파일로 생성해 사용하는 것을 배웠습니다. 이번 글에서는 UIView를 Xib로 만들어서 사용할 수 있도록 해보겠습니다. 1. 파일 생성 Swift 파일을 생성합니다. 그런데 UITableViewCell을 만들 때와 다르게 Xib File을 생성할 수 없어서 Xib 파일 또한 생성해 줘야 합니다. View를 선택 후 알아보기 쉽게 Swift 파일과 동일한 이름으로 생성합니다. 2. Xib 구성 View.xib 파일을 열어보면 위 이미지와 같은 것을 확인할 수 있는데 이제 화면을 꾸며보도록 하겠습니다. View를 선택 후 Attributes inspector -> Size -> Freeform으로 선택 후 원하는 사이즈로 변경 후 인터페이스를 추가해 줍니다..
-
[ios - Swift] UITableView 무한스크롤 구현하기ios 2020. 11. 22. 17:13
Tableview를 이용하다 보면 row의 수가 적을 경우 문제 되지 않지만 row의 수가 많다 보면 데이터를 불러올 때 부담이 될 수 있습니다. 그렇기 때문에 우리는 사용자가 원할 때 추가로 다음 데이터를 불러오는 작업을 무한 스크롤을 이용해서 처리해 보도록 하겠습니다. 1. Data 준비하기 func HttpData() { print("HTTP 호출 시작 \(cnt)") cnt = cnt + 1 let newsAddress : String = "http://newsapi.org/v2/top-headlines?country=kr&apiKey=75c9a397ffa14b8694f458a03c5342cf" let task = URLSession.shared.dataTask(with: URL(string: n..
-
[ios - Swift] RefreshControl 사용하기ios 2020. 11. 22. 15:49
이번 시간에는 UITableView의 cell을 아래로 드래그 시 데이터를 Refresh 할 수 있도록 해보겠습니다. 1. UIRefreshControl 사용자가 스크롤 가능한 콘텐츠 영역의 상단을 아래로 드래그하면 스크롤 뷰에 새로 고침 컨트롤이 표시되고 진행률 표시기에 애니메이션을 적용하고 앱에 알립니다. let refreshControl = UIRefreshControl() refreshControl.addTarget(self, action: #selector(refreshWork), for: .valueChanged) mTableView.addSubview(refreshControl) RefreshControl을 스크롤이 가능한 인터페이스에 Subview로 등록합니다. selector: value..
-
[ios - Swift] UITableView Swipe Button 만들기ios 2020. 11. 20. 20:00
1. leadingSwipeActionsConfigurationForRowAt, trailingSwipeActionsConfigurationForRowAt leadingSwipeActionsConfigurationForRowAt : 행의 앞 가장자리에서 표시할 스와이프 동작입니다. trailingSwipeActionsConfigurationForRowAt : 행의 끝 가장자리에서 표시할 스와이프 동작입니다. 우리는 위 두 가지의 델리게이트를 이용하도록 하겠습니다. func tableView(_ tableView: UITableView, leadingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? ..