분류 전체보기
-
[ios - Swift] PHCachingImageManager 사용하기ios 2020. 12. 14. 09:43
이번 글에서는 포토 라이브러리를 만들어볼 예정입니다. 포토 라이브러리에 접근하는 방법은 PHImageManager, PHCachingImageManager 두 가지이며 사용방법은 동일합니다. PHCachingImageManager를 사용하는 것이 이미지를 빨리 가져올 수 있으므로 PHCachingImageManager을 사용하도록 하겠습니다. let imageManager:PHCachingImageManager = PHCachingImageManager() var imageFetch: PHFetchResult? 공유 이미지 관리자 개체와 사진에 대한 메타데이터를 관리할 수 있는 리스트를 선언해 주도록 합니다. PHAsset 에는 사진이 아닌 메타데이터만을 가지고 있습니다. func loadPHCachin..
-
[ios - Swift] UIImageView Gesture 동작 안하는 문제ios 2020. 12. 8. 11:26
UIImageView에 제스처가 작동하지 않을 경우 해결방법은 다음과 같이 설정하면 됩니다. self.gestureRecognizers?.append(UITapGestureRecognizer(target: self, action: #selector(touchesTap))) 기존 제스쳐를 등록할 때 사용했던 방법은 위와 같으며 테이블 뷰에 등록시 정상적으로 작동하는것을 확인하였습니다. 다만 UIImageView에서 제스쳐를 사용하고자 할 경우 isUserInteractionEnabled를 true 로 변경해줘야합니다. true: 이벤트가 정상적으로 전달됩니다. false : 터치, 누르기, 키보드 및 포커스 이벤트가 무시됩니다. isUserInteractionEnabled 만 True 로 설정하더라도 정상..
-
[ios - Swift] Foreground Push 알림 사용 (UNUserNotificationCenter 2/2)ios 2020. 12. 6. 13:29
지난 글에서 알림을 Push 하는 것을 배웠습니다. 알림이 백그라운드 상태에서만 동작하기 때문에 이번 글에서는 포그라운드 상태에서 알림을 수신받을 수 있도록 코드를 추가해 보도록 하겠습니다. UNUserNotificationCenter 사용법을 모르신다면 이곳에서 확인해 주세요. 1. userNotificationCenter 추가 앱이 포그라운드에서 실행되는 동안 도착한 알람을 처리하는 델리게이트입니다. UNUserNotificationCenterDelegate에 다음 코드를 추가해 줍니다. func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletion..
-
[ios - Swift] Push 알림 사용하기 (UNUserNotificationCenter 1/2)ios 2020. 12. 6. 01:50
이번 글에서는 UNUserNotificationCenter를 사용해서 앱 알림을 사용해보도록 하겠습니다. 1. UNUserNotificationCenter override func viewDidLoad() { super.viewDidLoad() UNUserNotificationCenter.current().delegate = self } func permission_Notification() { let notification = UNUserNotificationCenter.current() notification.getNotificationSettings { (setting) in if setting.authorizationStatus == .authorized { print("Push OK") } el..
-
[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)..