본문 바로가기

전체 글

(38)
[iOS] fullScreen? overFullScreen? over가 붙으면 무엇이 다를까 (UIModalPresentationStyle) UIViewController의 속성중에 modalPresentationStyle 란 것이 있습니다. 해당 뷰컨트롤러가 모달 형식으로 띄워질 때의 스타일을 지정할 수 있는 것이죠. var modalPresentationStyle: UIModalPresentationStyle { get set } 스타일로 지정할 수 있는 타입의 기본값은 .automatic 이고 지정할 수 있는 값은 총 11가지가 있습니다. 이 중에서 .fullScreen과 .overFullScreen, .currentContext와 .overCurrentContext 처럼 prefix로 over가 붙으면 어떤 차이가 있는지 알아보려고 합니다! 정의를 먼저 살펴보면, 차이점은 presentation style 과 view presentat..
[iOS] 로컬 푸쉬 알림 구현 방법 (Local Notification) Swift로 로컬에서 푸쉬 알림을 어떻게 띄우게 구현하는지 알아보도록 하겠습니다. 기본 구조 Local Notification은 크게 3가지 파트로 나뉩니다. content, trigger, request 입니다. 이 세가지를 통하여 Local Notification을 쉽게 구현할 수 있습니다. Content content는 사용자에게 어떤 내용을 보여줄지에 대한 정보를 담고 있습니다. title, body, badge number, userInfo, attachments 등이 있습니다. userInfo는 예상하다시피 원하는 정보를 모두 담을 수 있는 Dictionary 입니다. 알림을 사용자가 눌렀을 때, userInfo에 들어있는 정보를 접근하여 활용할 수 있습니다. Trigger trigger에는 ..
[리뷰] 키크론 K4 (Keychron K4) 맥용 기계식 키보드 리뷰 + 타건 영상 킥스타터(Kickstarter)를 통해 후원하여 약 3개월 정도의 기다림 끝에 받은 키크론 K4 키보드를 리뷰해보겠습니다! 9월에 후원하였고 10월에 마감이 되고 12월에 받았으니 약 3개월 정도 소요되었습니다. 제가 후원하여 받은 제품은 K4 RGB Backlight Aluminium Keyboard Optical Red Switch 입니다. 요걸로 선택한 이유는 그냥 가장 비싸서..? 입니다. 이왕 주문하는거 제일 비싼게 제일 좋겠지.. 하고 선택하였습니다. 😎 키보드 가격은 $99 이고 국제 배송비 포함하여 총 후원료는 $111 였습니다. 스위치는 개인적으로 적축을 선호해서 망설임없이 선택하였습니다. 저는 주로 맥을 이용하고 있기에 맥과 호환되는 기계식 키보드라는 점에서 매우 만족스러웠습니다. 윈도..
[Cocoapods] pod install? pod update? 제대로 알고 쓰자 많은 사람들이 pod install 을 코코아팟 프로젝트를 처음 세팅할 때 딱 한 번 쓰고 pod update 는 그 이후에 사용된다고 생각합니다. 그러나 전혀 그렇지 않습니다! 😝 이번 포스팅에서 pod install 과 pod update 를 정확히 알아보도록 하겠습니다. pod install pod을 프로젝트에 세팅하기 위하여 맨 처음에 사용됩니다. 하지만 Podfile의 pod을 추가, 수정, 삭제할 때에도 사용됩니다. pod install 명령어를 실행하면 새로운 pod을 다운받고 설치합니다. 그리고 각 pod 마다 설치된 버전을 Podfile.lock 에 기록해 놓습니다. Podfile.lock은 설치된 pod들의 버전을 계속 추적하여 기록해놓고 유지시키는 역할을 합니다. pod install..
[iOS] 웹뷰에서 숫자 키패드로 뜨지 않을 경우 해결방법 웹뷰(WebView)에서 아래와 같이 input 태그를 작성했음에도 기대했던 숫자 키패드(Number Keypad)가 뜨지 않을 경우가 있었다. 특이한 점은 iOS 13에서는 잘 동작하였지만 iOS 12에서 발생하는 것으로 확인되었다. 원인은 iOS 12.2 부터 inputmode를 지원한다는 것이다. inputmode에 decimal을 명시하면 iOS 12.2 부터는 decimalPad가 뜨게 된다. 하지만 그 아래 버전에서는 decimalPad가 뜨지 않았다. 대체할 해결 방법은 의외로 간단했다. 방법을 찾는 것이 어렵... pattern attribute를 지정함으로써 해결할 수 있었다. "[0-9]*" 와 "\d*" 두 패턴 모두 잘 동작하는 것을 확인하였고 둘 중에 원하는대로 사용하면 문제가 없..
Who am I? 염염 (Flip) 자동차와 미니언즈를 좋아하는 iOS 개발자입니다. 기본 소양은 물론 최신 트렌드를 놓치지 않는 지속적인 발전을 지향합니다. 프론트부터 백엔드까지 관심이 많습니다. 사용자에게 최고의 경험을 제공하기 위해 고민하는 것을 좋아합니다. 🚀 Technology Stack iOS - Swift, Objective-C Web - HTML, CSS, jQuery, React.js Server - Java, Spring Framework, EJB Database - Oracle, MySQL 🏢 Career 카카오 - iOS Developer (2019.11 ~ ) 카카오톡 iOS 앱 개발 신한은행 - iOS Developer (2018.01 ~ 2019.10) 신한 SOL iOS, Hybrid 앱 개발..
[iOS] Keyframe Animation으로 애니메이션 구현하는 방법 순차적으로 애니메이션이 실행되어야 한다면 아래와 같이 UIView Animation 을 중첩하여 구현할 수 있습니다. UIView.animate(withDuration: 1.0, animations: { self.animate1() }, completion: { finished in UIView.animate(withDuration: 1.0, animations: { self.animate2() }, completion: { finished in UIView.animate(withDuration: 1.0, animations: { self.animate3() }) }) }) 중첩이 많아 가독성이 떨어져 보입니다. 애니메이션이 추가될 수록 더 악화될 것입니다. 이 코드는 아래처럼 animateKeyfram..
[iOS] UIView Animation으로 애니메이션 구현하는 방법 특정한 시간 동안 한 개 혹은 그 이상의 뷰들의 변화에 애니메이션을 주는 것에 대해 알아보겠습니다. 오늘은 그 중에서도 타입 메소드로 선언된 UIView.animate 를 살펴보겠습니다. class func animate(withDuration duration: TimeInterval, animations: @escaping () -> Void) 파라미터 animations 에 원하는 속성의 최종값을 설정하면 현재값에서 최종값으로 변하는 애니메이션이 실행됩니다. UIView가 제공하는 속성중에서 애니메이션을 지원하는 속성은 다음과 같습니다. frame bounds center transform alpha backgroundColor 기본적인 구현 방법은 아래와 같습니다. let newFrame = CGR..