Template 만들기xcode 에서 기본적으로 제공하는 것이 아닌 자신이 직접 만든 Template을 사용할 수 있는 방법은 없을까? 생각을 해봤을 것입니다. Template 만드는 방법과 적용 방법을 공유 하겠습니다 Template 만드는 방법Template을 만들기 위해서는 총 3가지 종류의 파일이 필요하게 됩니다.1. FILEBASENAME.swift 2. TemplateIcon.png, TemplateIcon@2x.png 3. TemplateInfo.plist ■ __FILEBASENAME___.swiftTemplate 으로 표현할 swift 파일을 의미하며 FILEBASENAME 파일명 형태를 유지하며 저장하여야 합니다. 사용자가 Template 으로 생성한 파일 이름이 FILEBASENAME..
XCODE로 코딩하다보면 UITextView에 대한 가로 정렬은 있으나 세로 정렬이 없다는 것을 발견하게 됩니다. 이번 포스트로 UITextView에서 세로 정렬하는 방법을 소개하려고 합니다. 원리1. UITextView 모든 글이 들어갔을 때 크기 * zoomScale 2. UITextView Bounds 크기 - 1번 결과값 (UITextView 모든 글이 들어갔을 때 크기 * zoomScale) 3. 2번 결과 값 / 2 의 값과 1 중 최고 값을 가져옵니다. 4. 3번의 결과 값을 UITextView의 ContentOffSet y 값으로 설정 합니다. 1번 ~ 4번을 수식으로 표현하면 다음과 같습니다.contentOffset.y = -(max(1, (UITextView 모든 글이 들어갔을 때 크기..
Android 에서는 Interface을 활용하여 Popup Dialog의 확인(또는 취소) 버튼을 누른 시점에 Event 처리를 할 수 있습니다. iOS에서도 Popup Dialog의 확인(또는 취소) 버튼을 누른 시점에 Event 처리하면 좋겠다는 생각을 하여 구현하였습니다. 구현방법먼저는 클로저라는 개념을 이해하고 있어야합니다. 클로저를 간단히 정리하자면 함수객체를 사용하는 것을 의미합니다. 자세한 것은 소스 설명하면서 다루겠습니다. [샘플 앱 화면] 단순하게 두 개의 팝업을 구성하였습니다. 버튼이 하나만 있는 알림 팝업하고 버튼이 두개인 의견묻는 팝업으로 일반적으로 가장 많이 사용하는 팝업입니다. 버튼 한개 있는 팝업 (알림팝업)"OK" 버튼을 누르게 되면 onClickLister로 설정한 클로저..
다양한 부분에서 활용하는 패턴인 싱글턴 패턴에 대해서 알아보고 Swift에서는 어떻게 싱글턴 패턴을 구현하는지 공유하겠습니다. 싱글턴 패턴(Singleton pattern)싱글턴으로 구현된 클래스는 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이며, 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 리턴합니다. 요약하자면, 하나의 객체가 생성되어 재활용 하는 패턴을 의미합니다. Object-C 에서의 싱글턴object-c 에서는 싱글턴 패턴을 구현할 때에 dispatch_once_t 을 사용합니다. void dispatch_once(dispatch_once_t *predicate, dispatch_block_t block); Q. dispatch_once_t 무엇인가? A. ..
Realm 플랫폼의 핵심 개념은 Realm 이라는 가벼운 객체 컨테이너입니다. 데이터베이스에서처럼 Realm의 데이터는 쿼리, 필터링, 상호 연결이 가능하고 저장이 됩니다. 반면 기존 데이터베이스와는 달리 Realm의 객체는 라이브 오브젝트이고 완전히 반응형입니다. 또한, Realm은 기기와 애플리케이션 사이에서 매끄럽게 동기화되며 스레드에서 안전하게 접근할 수 있습니다. 이번 시간 Realm 에 대해서 간단한 샘플 프로젝트를 공유 하려고 합니다. Realm 설치Realm을 사용한 프로젝트에서 사용한 기능은 조회, 추가, 삭제, 수정으로 Realm을 사용하는데 필요한 기능을 구현하였습니다. 1. CocoaPods 0.39.9 버전 또는 그 상위버전을 설치 합니다.2. CocoaPods가 최신 Realm ..
교육관련 앱을 사용하다보면 동영상 강좌를 볼 때에 화면이 전환되는 것을 확인할 수 있습니다. iOS에서는 어떻게 화면 전환하는지 알아보겠습니다. AppDelegate 설정AppDelegate 부분에서 다음 함수인 UIInterfaceOrientationMask 을 지정하여 화면을 설정합니다. application(_, supportedInterfaceOrientationsFor) 은 화면 전화에 대한 Delegate 부분으로 자세한 내용은 AppleDeveloper 에서 확인할 수 있습니다.12345678var orientationLock = UIInterfaceOrientationMask.portrait func application(_ application: UIApplication, supporte..
Webview는 앱 기능 중 필수라고 할 수 있습니다. 하이브리드 앱에서 특히 많이 사용하고 있는 Webview를 공유하겠습니다.Swift 에서는 Webview 사용 시 UIWebView을 사용하였습니다. 그러다 ios 11 버전부터는 Webkit 이라는 위젯이 등장합니다. UIWebview에서 WebKit으로 변경되었지만 소스 변경은 많이 되지 않았기에 소스 업데이트에 대한 걱정은 없었습니다. 버전에 따른 WebView공유드릴 내용은 버전에 따른 WebView 호출입니다. Xcode로 웹뷰 구현 하다보면 WebKit은 ios11버전 이상에서만 사용 가능하다고 제한을 걸었습니다. Apple Developer에서는 "Webkit 최소 버전은 ios 8 이상부터 지원한다"고 명시하고 있습니다. 차후에 UIW..
이번 포스팅은 Swift에서 가장 많이 사용하는 AlertController 에서 발생했던 이슈를 소개하려고 합니다. 보통 AlertController은 다음과 같이 사용할 것입니다. 아이폰에서는 정상 동작하지만 태블릿에서는 다음과 같은 에러가 발생합니다. *** Terminating app due to uncaught exception 'NSGenericException', reason: 'Your application has presented a UIAlertController () of style UIAlertControllerStyleActionSheet. The modalPresentationStyle of a UIAlertController with this style is UIModalPre..
- flutter
- 패턴
- missioon
- 알고리즘
- 스코어헬퍼
- 점수판
- 고시문헬퍼
- RXjava
- 선교
- 코틀린
- view
- Android Studio
- 디자인패턴
- push
- missionchina
- IT
- IOS
- 임용고시
- Kotlin
- 미션차이나센터
- 안드로이드
- swift
- DI
- java
- 고시문
- Android
- issue
- 탁구
- MCC
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |