[iOS] 제스쳐 사용하기 (UIGestureRecognizer)

맨날 코드 작성 안하고 이상한것만 가끔 가끔 올리다가 깃헙에 샘플 레포시토리도 만들겸 간단한 제스쳐 등록 예제를 만들었다. 기본은 제스쳐를 생성하고 인식할 뷰에 추가를 하는것

기본적으로 iOS에서 지원되는 제스쳐는 tab, pinch,  rotation, swipe, pan, screen edge pan, long press이다. 구분을 하자면 pinch와 rotation의 차이는 pinch는 사진을 확대/축소 하듯이 손가락 두개 이상을 오므리거나 펼때 인식하고 rotation은 […]

UILabel에 글이 몇줄인지 확인하기

label 에 들어있는 텍스트가 몇줄인지 확인하는 소스  

     

UIColor를 통하여 UIImage 생성하기

보통 작업을 하면서 일정 색상의 뷰를 쓰려면 뷰의 backgroundColor 속성을 조절하면 된다. 그런데 이미지 합성을 한다거나 몇몇 특수한 경우에 단색의 이미지가 있으면 편할떄가 있다. 그렇다고 그때마다 그 이미지를 생성하자니 매우 귀찮은 일이다. 색상과 사이즈를 정하면 UIImage로 추출하는 소스다

  예제 다운로드

기본적인 소프트웨어(게임 등) 개발의 흐름

요즘은 예전에 비하면 프로그램을 만드는 난이도가 매우 낮아졌다. 소규모의 인원들이 모여서 취미로 간단한 게임이나 프로그램등을 만들어 배포하기도 한다. 최근 유행한 언더테일이란 게임도 혼자서 게임메이커라는 도구를 사용하여 만든 게임이다. 혼자서도 만드는데 두명, 세명이서 모이면 못만들게 과연 무었이 있을까! 그래서 혼자서 혹은 둘셋 모여서 소프트웨어를 만든다고 하자. 그러면 어떻게 해야하는가? 처음에는 의욕이 넘쳐서 다들 이거한다 저거 한다 […]

swift 테스트

swift가 발표되고 꽤 지났다. 실제로 swift만으로 앱을 개발하는 사람들도 늘은거 같다. 그래서 뒤늦게나마 스위프트를 시작해보려고 한다. 당장 언어가 문법이 너무 어색해서 버벅거리기는 하는데 하다보면 이거도 익숙해지지 않을까 싶다!

    테스트 프로젝트 다운로드

현재 실행중인 iOS디바이스의 종류(아이폰, 패드, TV, CarPlay) 구분하기

유니버셜 앱을 만들다 보면 현재 내 앱을 실행하고 있는 디바이스가 무었인지 알고 싶을떄가 있다. 그럴때는 UIDevice클래스를 호출해서 확인할 수 있다.

리턴값은 다음과 같다.

이번 블로그를 포스팅하며 알게 된거지만 이번에 iOS 9.x가 되면서 CarPlay 와 TV가 추가되었다. TV앱은 언젠가 시간이 된다면 한번 해보고 싶다

Autolayout을 이용하여 뷰를 n등분 하기 [iOS]

내가 처음 아이폰 개발을 했을때는 매우 행복했다. 디바이스의 해상도가 320 * 480 한가지 해상도만 생각하며 작업하면 됬고 그때는 뷰를 그릴때도 그냥 20픽셀 떨어져있으면 20픽셀이라고 쓰면 됬었다. 지금은 조금 틀려졌다. 일단 아이폰만 한다고 하면 아이폰4s, 아이폰5, 아이폰6, 아이폰6+ 네가지 화면을 확인해야하고 아이패드까지 가면 화면은 더 늘어난다. 해상도도 다 틀려 20픽셀을 20픽셀이라고 쓰면 안되는 몸이 되어버렸다. 물론 […]

AFNetworking을 사용하여 iOS 디바이스의 네트워크가 WiFi인지 셀룰러 데이터인지 확인해보기

AFNetworking은 현재 깃헙에서 별이 가장 많은 Objective-c 프로젝트로 알고 있다. 그만큼 안정적이고 좋은 기능들을 손 쉽게 쓸 수 있다. 아마  AFNetworking 없다면 꽤 고생을 했을거같다.  앱을 개발하다 보면 이런 화면을 볼때가 있다. 만약 앱을 구동하는데 필요한 리소스가 크다면 사용자의 셀룰러 데이터 플랜을 모르는 이상 안내도 없이 데이터를 쭉쭉쭉 다 써버리는건 친절한 개발이 아니라고 생각한다. 이런 […]

내가 생성한 하위 객체에서 이벤트를 상위객체로 보내는 방법! – 3부 Block패턴

이번에 소개할 패턴은 Block패턴이다 애플 레퍼런스에서 소해주지는 않은 방법이고 혼자 개발을 하면서 애플에서 추천하는 Block 문법과 KeyValue 코딩을 반반 섞은 방법이다. 처음 이 패턴을 고민한건  MVC패턴을 통해 작업을 진행하고 있었다. 그러다 뷰컨트롤러 안에서 커스텀 뷰를 만들어가지고 작업을 진행하는데 뷰 안에 UI처리가 아닌 데이터 처리등이 섞이는게 싫어서 어떤 방법을 써볼까 고민하다가 뷰 안에 블록을 통해 객체를 […]

내가 생성한 하위 객체에서 이벤트를 상위객체로 보내는 방법! – 2부 NotificationCenter패턴

델리게이트는 A객체와 B객체가 강하게 묶여 객체가 여러개가 되면 관리가 힘이 들어진다. 예를 들어 결제 과정을을 본다면 결제 안내 페이지에서 금액이 2000원으로 나온다고 하고 여기서 쿠폰을 사용한다고 해보자. 쿠폰 선택화면 안에 프로모션 화면등 그 안에 2~3단계의 화면이 더 들어갈 수도 있다.  최종적으로 결정하는 화면과 제일 처음에 봤던 결제 화면간을 델리게이트로 연결을 하면 여간 복잡하고 귀찮은 일이 […]