적당한 고통은 희열이다

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

반응형

Swift iOS 앱 개발 173

[Objective-C iOS] OpenCV detect rectangle 윤곽선 가져오기

내가 서치해본 결과, iOS에서 OpenCV를 사용하기엔 굉장히 열악하다. 샘플 코드 발견해도 대부분 4, 5년 전에 작성되어 작동조차 안되는 경우가 많다.. Swift로 작성할수가 없으니 Swift opencv 검색하면 당연히 안나온다. 그냥 기초 흑백변환 가이드 정도만 있다. OpenCV 를 활용하고 싶다면 무조건 Objective-C로 작성을 해주어야 하고, 옵씨로 검색을 해야한다. 그나마 파이썬이나 안드로이드에서 사용된 예시는 꽤 있는 듯 하여 작동 흐름이라도 알기 위해 다른 분야 검색 결과들을 참고 했다. 인자 갯수나 사용법은 조금씩 다르지만 사용되는 함수 명이나 흐름은 비슷하니까 다른 언어로 참고해도 좋을듯! 의도치않게 Objective-C 공부도 하게된.. ㅎㅎㅎ 그리하여 내가 직접 정리해본..

[iOS] 아이폰 웹뷰 디버깅

아이폰 웹뷰 리모트 디버깅 하는 법 기본 설정 1. 아이폰 [설정 > Safari > 고급 > 웹 속성] 켜주기 2. 맥북 아이맥 등의 MacOS에서 Safari 메뉴 > 환경설정 > 고급 탭 > 메뉴 막대에서 개발자용 메뉴 보기 체크 아이폰 웹뷰 디버깅 1. 아이폰을 연결한 후 아이폰에서 사파리 혹은 직접 개발한 웹뷰앱을 실행 2. MacOS에서 [Safari 상단 메뉴 > 개발자용 > 연결된 iPhone] 에서 현재 아이폰에서 열어둔 페이지 목록 확인 가능 3. 목록에서 디버깅하고 싶은 페이지를 선택하면 바로 디버깅 창이 뜬다. 전체 검색(전역 검색)을 하고 싶으면 Ctrl + Shift + F 를 눌러서 원하는 코드를 찾을 수 있다. 참고 : https://doogle.link/%EC%95%84%E..

[swift iOS] 앱 강제종료

간단하게 종료할 경우 exit(0) 을 사용해서 강제종료 시킬 수 있다. 이렇게 하면 약간 크래시? 나는 느낌으로 종료가 되는데 자연스럽게? 예쁘게 앱을 종료시키고 싶다면 다음과 같은 방법을 사용할 수 있다고 한다. UIApplication.shared.perform(#selector(NSXPCConnection.suspend)) DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) { exit(0) } 앱 상태를 suspend로 보낸 후, 앱을 종료시키는 방법이다. 참고 : ZeddiOS - 앱 종료 with animation,

[Swift iOS] UITextView set placeholder

textField에는 있는 placeHolder가 textView에는 없다! 수동으로 추가해주는 법. class UIViewController: UIViewController, UITextViewDelegate { @IBOutlet weak var myTextView: UITextView! override func viewDidLoad() { myTextView.delegate = self myTextView.text = "내용을 입력하세요." myTextView.textColor = UIColor.systemGray3 } //MARK: - TextView Delegate func textViewDidBeginEditing(_ textView: UITextView) { if textView.text ==..

[Swift iOS] detect UITableView scroll to bottom

UITableView에서 데이터 로드 후 마지막까지 스크롤을 내리면 추가로 데이터를 더 로드하도록 하는 법 다음과 같이 tableView 내장 함수 중에서 willDisplay cell 을 사용하여 스크롤 끝을 감지할 수 있다. func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) { if indexPath.row + 1 == yourArray.count { print("load more") } } 참고 : CodeRedirect - Detect when UITableView has scrolled to the bottom 음.. 근데 문제가 스크롤 다 내려왔을 때도 ..

[Swift iOS] keyboard top toolbar 추가하기

viewDidLoad() 에 다음을 추가해준다. let toolbar = UIToolbar() let doneBtn = UIBarButtonItem(barButtonSystemItem: .done, target: nil, action: #selector(done)) let customBtn = UIBarButtonItem(title: "button", style: .plain, target: nil, action: nil) let flexibleSpaceButton = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil) toolbar.sizeToFit() toolbar.setItems([customBtn, flexi..

[Swift iOS] UIComponents

다음과 같이 URL을 생성해줄 수 있다. var components = URLComponents(string: "https://hongssup.tistory.com") let type = URLQueryItem(name: "type", value: "post") let page = URLQueryItem(name: "page", value: "22") components?.queryItems = [clientID, scope] components?.url //https://hongssup.tistory.com/?type=post&page=22 반대로 URL에서 정보를 가져오고 싶다면 다음과 같이 받아올 수 있다. 참고 : ZeddiOS - URLComponents

[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..

728x90
반응형