적당한 고통은 희열이다

- 댄 브라운 '다빈치 코드' 중에서

반응형

분류 전체보기 568

[Swift iOS] UICollectionView scroll to top / bottom

다음과 같이 옵저버로 호출을 해줘도 되고 버튼 클릭으로 해줘도 되고 암튼 스크롤 top / bottom 함수를 호출해준다 NotificationCenter.default.addObserver(self, selector: #selector(self.scrollToBottom), name: NSNotification.Name(rawValue: "ScrollToBottom"), object: nil) NotificationCenter.default.addObserver(self, selector: #selector(self.scrollToTop), name: NSNotification.Name(rawValue: "ScrollToTop"), object: nil) 다음과 같이 맨 위로 / 맨 아래로 스크롤하는 ..

[Swift iOS] CLLocationManager 위치정보 GPS 주소 가져오기

CLLocationManager 위치 권한 설정 Info.plist Privacy - Location When In Use Usage Description : 앱 사용중일 때만 GPS 사용 (for use in foreground) Privacy - Location Always and When In Use Usage Description : 위치 정보 항상 사용 (앱 사용 안할 때도) 위도 경도 가져오기 import UIKit class ViewController: UIViewController { var locationManager: CLLocationManager! var currentLocation: String? override func viewDidLoad() { super.viewDidLoad..

[Swift iOS] WKNavigationDelegate 하이브리드 앱에서 webview 탐색 및 관리

WKNavigationDelegate : Methods for accepting or rejecting navigation changes, and for tracking the progress of navigation requests. 웹뷰에서 일어나는 변경 사항들을 감지하고 제어할 수 있는 프로토콜. 특정 링크에서의 작동을 제한하거나 진행 상황을 추적하는 등의 기능을 수행할 수 있다. WebViewController에 WKNavigationDelegate 프로토콜을 추가해주면 다음 메서드들을 사용하여 웹뷰 페이지 탐색 및 이동을 제어할 수 있다. webview.navigationDelegate = self 로 대리자 위임해주는 것을 잊지말 것! 1. decidePolicyFor navigationAct..

[Swift iOS] Barcode Generator in all types (QR, EAN8, EAN13 ...)

바코드 스캐너는 많아도 생성기는 검색해봐도 많지 않았다.. 거의다 QR 생성기이고 그중에서도 내가 필요한 EAN8 바코드 생성기는 찾기 쉽지 않더라. 내가 검색을 잘못한건지 모르겠지만 ㅎㅎ 그나마 찾은 괜찮은 iOS용 라이브러리도 Objective-C로만 되어있어서 대체 어떻게 사용해야할지 막막하던 'BarCodeKit' 그러다 한줄기 빛처럼 만나게 된 라이브러리 'RSBarcodes_Swift' 내가 찾던 ean8을 포함한 1D / 2D barcode 타입들을 전부 지원해주는 Swift 라이브러리이다. 애초에 그냥 바로 Cocoapods에서 'barcode' 라고 검색했으면 빨리 찾았을 수도 있겠지만 구글에서 swift ean8 generator 라고 검색하니 저어엉말 찾기가 힘들었다ㅠ 나는 1D ba..

[Swift iOS] Convert number into money format with a comma (feat. NumberFormatter 숫자 콤마 표시)

NumberFormatter : 숫자 값과 텍스트 사이를 변환하는 formatter 숫자 / 금액에 자동으로 쉽표를 추가해주는 formatter가 있는 지 몰랐던 5개월 전의 나는 귀엽게도 다음과 같은 코드로 가격에 쉼표를 표시해주었다. 😆 let price = UILabel() var priceArray = Array("50000") if priceArray.count == 4 { priceArray.insert(",", at: 1) } else if priceArray.count == 5 { priceArray.insert(",", at: 2) } price.text = String(priceArray) // "50,000" 숫자가 4개면 두번째 자리에 쉼표를, 5개면 세번째 자리에 쉼표를 추가해준다..

[Swift iOS] webview 로딩 완료 감지 (feat. WKNavigationDelegate)

didFinish navigation 으로 페이지 로딩 완료를 감지할 수 있다. 다음과 같이 실행해줄 경우, 새로운 페이지가 로딩될 때마다 url 로딩 완료 로그를 확인할 수 있다. func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) { let url = webView.url?.absoluteString print("로딩완료 : \(url)") } 참고 : LaValse - WKNavigationDelegate, wkwebview 로딩완료감지,

[Swift iOS] 키보드가 textField를 가릴 때 해결법

textField 를 사용할 때, 키보드에 의해 textField가 가려지는 경우가 있다. 이러한 경우 NotificationCenter를 이용해서 키보드의 상태를 받아와, 키보드가 올라가면 잠시 textField 입력 창을 올렸다가 내려갈 때 다시 원래대로 내리면 된다. override func viewDidLoad() { super.viewDidLoad() textField.delegate = self NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillShow(_:)), name: UIResponder.keyboardWillShowNotification, object: nil) NotificationCenter.d..

[Swift iOS] NotificationCenter & Observer

NotificationCenter에 등록된 이벤트가 발생하면 해당 이벤트들에 대한 행동을 취하는 것. 앱 내에서 아무데서나 메시지를 던지면 앱 내의 아무데서나 이 메시지를 받을 수 있게 해 주는 것이 NSNotificationCenter의 역할. post 옵저버에게 전달할 값을 전송해주는 부분 NotificationCenter.default.post(name: Notification.Name("이벤트이름"), object: 전달할값) Add Observer Notification.Name("")을 탐지하고 있다가 해당 이름으로 notification이 전송되면 수행하는 부분. NotificationCenter.default.addObserver(self, selector: #selector(호출할함수),..

728x90
반응형