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

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

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

UIColor를 통하여 UIImage 생성하기

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

  예제 다운로드

swift 테스트

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

    테스트 프로젝트 다운로드

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

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

리턴값은 다음과 같다.

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

UIColor 색상 비교 하기

작업을 하다보면 여러가지 객체에 대해 비교를 자주 하게 된다 문자가 같은지 숫자가 같은지 등등… 여기서 NSString나 NSNumber같은 객체는 단순히 == 연산자로 비교가 안되어 애플에서 관련 비교 메소드를 만들어줬다 하지만 UIColor같은경우 비교 메소드가 없어서 따로 만들어 사용해야 한다.

  UIColor를 카테고리로 확장해서 만들면 좀더 편리해진다

Xcode에 iOS 시뮬레이터 다른 버전 추가하기

Xcode를 설치하면 기본적으로 최신 iOS말고 다른 버전의 시뮬레이터로 테스트를 할 수 없다. 개발을 최신 OS하나에만 맞춰서 할 수 있다면 참 좋겠지만 어디 그러한가. 하위 버전의 호환성도 테스트를 해야한다. 이럴때는 하단에 Download Simulators…를 누르면 다른 시뮬레이터를 추가 할 수 있다.   설치하기 원하는 시뮬레이터의 좌측에 화살표를 누르면 다운로드가 시작되고 설치가 끝나면 시뮬레이터 선택 옵션에 [디바이스 (펌웨어 […]

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

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

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

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

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

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