IOS
-
[iOS] 아이패드(iPad)에서 UIActivityViewController를 Present하면 크래쉬가 발생.앱등이에게 살충제를 뿌린다./iOS 2016. 9. 20. 21:06
원인은 간단하다. 아이패드에서는 popover형태로 activityViewController를 보여준다. 따라서 UIActivityViewController의 프로퍼티인 popoverPresentationController에 몇 가지 셋팅을 해주어야 한다. 2,3번째 줄의 코드처럼 popover될 위치를 잡아주어야 한다. sourceView는 위 스샷에서는 공유하기버튼 객체가 될 것이고sourceRect는 버튼의 bounds가 될 것이다. 이 작업을 하지 않으면 아이패드에서는 100% 크래쉬가 발생한다.
-
[iOS] UIActivityCategory의 두 종류! Action과 Share앱등이에게 살충제를 뿌린다./iOS 2016. 9. 12. 11:55
EnumerationUIActivityCategory SymbolsConstantscase action아이템을 선택한 목적이 특정한 액션일 경우. 예를 들어 이미지를 복사하거나 사진첩에 저장하려는 경우case share아이템을 선택한 목적이 공유를 하기 위함인 경우. 예를 들어 이미지를 메일로 보내려는 경우 출처 : https://developer.apple.com/reference/uikit/uiactivitycategory
-
[메모리 절약 Tip] 상수 프로퍼티(variable)가 많다면 프로퍼티(variable) 대신 메소드를 써보자.코딩은 주댕이로 2016. 9. 9. 11:35
iOS 개발 관점에서 작성되어 혼동되는 단어가 있을 수 있습니다. View관련 클래스에는 상수가 많이 들어간다. 이미지의 가로Size, 세로Size, 최대 이미지 갯수, 폰트, 컬러 등등.. 이렇게 많은 상수들을 해당 클래스에서 모두 사용한다면 상관 없지만, 사용하지도 않는 프로퍼티들 때문에 메모리 낭비를 하는 경우가 발생할 수 있다.안쓰는건 선언하지 않으면 되잖아? 라고 생각이 드는게 당연한데, 아래의 상황을 떠올려보자. [SuperView] - 상수30개 보유|[SubViewClass1(사용상수 10개)] [SubViewClass2(사용상수 7개)] [SubViewClass3(사용상수 2개)] ..... 이런 구조에서 모든 Cell의 superView가 되는 SuperCell에 Cell관련 상수들을 ..
-
[iOS] dismissBlock이라는 프로퍼티를 이용해보자.앱등이에게 살충제를 뿌린다./iOS 2016. 8. 13. 00:59
FirstViewController에서 ModalViewController를 띄운다. SecondViewController에서 ModalViewController를 띄운다. ThirdViewController에서 ModalViewController를 띄운다. 세 개의 ViewController에서 다른 ViewController를 Modal로 띄우는 경우가 있다. 그리고 Modal이 닫겼을 때 특정 기능이 실행되길 원한다. 하지만 세 경우 모두 그 기능이 모두 다르다면? ModalViewController에서 dismissviewcontrolleranimated completion메소드의 completion블락에 이 기능을 전달한다고 가정하자. completion안에서 if 문을 통해 어떤 기능을 실행할..
-
UIBarButtonItem을 만들어보자앱등이에게 살충제를 뿌린다./일기는 일기장에 2016. 8. 6. 20:19
UIBarButtonItem은 UIToolbar, UINavigationBar 등의 메뉴에 사용된다. 사용은 아래와 같다. (결과참조:http://rhammer.tistory.com/173) 여기에 포스팅할 내용은 이 UIBarButtonItem을 만드는 방법에 관한 것이다. 1. 시스템에서 제공하는 item 위 예제를 참조하세요! 2. 이미지만 갖고 만드는 item 3. 타이틀만 갖고 만드는 item 4. 커스텀 UIView를 갖고 만드는 item 사실 이 4번이 핵심이다. 1,2,3 번은 쉬운데 4번은 생각보다 까다롭다. 4번은 아래의 메소드를 사용해야 한다.DeclarationSWIFT convenience init(customView customView: UIView)OBJECTIVE-C - (i..
-
[iOS] UIButton의 중복터치를 막아라앱등이에게 살충제를 뿌린다./iOS 2016. 7. 29. 14:53
iOS / Android 모두 가능한 중복터치 방지하기. 내 코드(코드연령 8세)에서는 찾아볼 수 없는 노하우가 회사에는 곳곳에 있다. 그중 하나가 바로 중복터치를 방지하기 위함 여러분은 Ctrl+C, Ctrl+V할 때 과연 C를 몇번 누르시나요?전 Ctrl버튼을 누른 뒤 C를 4번정도 연타하는 것 같네요. 모바일 앱에서도 터치를 다다닥 하는 경우가 있을텐데요. 이를 방지하는 기법을 소개해보고자 합니다.시나리오는 아래와 같습니다. 메소드는 중복해서 호출이 되지만 preventButtonTouch의 값 때문에 처음 호출된 메소드가 종료되기 전까지는 메소드의 body가 중복해서 수행되지 않습니다. 끝
-
[iOS] UICollectionView에서 발생하는 크래쉬앱등이에게 살충제를 뿌린다./고무망치를 도와라 2016. 7. 29. 13:02
UICollectionView를 상속받은 MyCollectionVIew에서 크래쉬가 발생한다. 1. 모든 디바이스에서 발생하는 것이 아님. 현재는 5s에서 발생하고 6, 6s에서는 발생하지 않음2. OS는 8.3, 9.3에서 테스트를 해보았으나 무관하게 발생3. 크래쉬가 100%재현되는 것이 아님. 그리고 크래쉬 로그는 (xxxxxxxxx는 서비스명이라 가림) 2016-07-29 11:44:57.518 xxxxxxxxxxxx dev[55017:14292281] *** Assertion failure in -[xxxxxxxxxxxx.MyCustomCollectionView _createPreparedCellForItemAtIndexPath:withLayoutAttributes:applyAttributes:..
-
[iOS/UIToolbar] UIToolbar의 tintColor와 배경색backgroundColor앱등이에게 살충제를 뿌린다./iOS 2016. 7. 26. 13:36
UIToolbar의 컬러에 대해서 생각해봅시다. navigationController.toolbarHidden = false를 적용 해보세요^^ 결과화면 그렇다면 저 파란색은 어떻게 바꿀까요?viewDidLoad에 한 줄만 추가해볼게요. tintColor가 변경되었습니다. 그렇다면 배경색은 어떻게 바꿀까요? toolbar.backgroundColor??아닙니다. 바로 barTintColor라는 프로퍼티를 수정해주어야 합니다. 툴바의 배경색이 파란색이 아닌 검정으로 나타난거 보이시나요? 끝