본문 바로가기

연구하기/iOS App Dev17

iOS 개발 강좌 - Storyboard #2 Storyboard 기반의 iOS 개발 - 2편다른 편 보기1. Segue 개요지난번 포스팅에서 봤었던 스토리보드 편집 화면에서부터 다시 시작해 보도록 하죠.이렇게 생겼었죠.보기가 불편하시다면 확대 축소 가능합니다. 모눈종이 안쪽의 우측 하단 보시면 확대 축소 버튼이 있고요. 트랙패드를 사용하실 경우에는 트랙패드의 확대/축소 제스쳐가 동작합니다. 단, 단계별 확대 축소만 되기 때문에 일정 이상 확대/축소를 하셔야만 합니다.어쨌거나, 모눈종이 안에 있는 것을 보시면 각 화면을 상징하는 커다란 박스 2개와, 그 화면을 잇는 화살표를 보실 수 있습니다. 여기서 이번에 다룰 것은 저 화살표에 해당하는 부분입니다. 저 화살표는 각각의 화면을 구성하는 뷰 컨트롤러간의 관계 및 흐름을 표시하는 역할을 수행합니다. 지.. 2013. 3. 3.
iOS 개발 강좌 - Storyboard #1 Storyboard 기반의 iOS 개발 - 1편다른 편 보기 회사 그만두고 충분히 쉬기도 했으니, iOS 개발을 정리할 겸 해서 Storyboard 기반의 아이폰 개발 강좌를 써 보려고 합니다. 다른 강좌와 섞어서 진행할 예정입니다. 저도 이래저래 찾아보고 하는 중이라 틀린 부분이 있을 수 있으니, 더 잘 아시는 분들은 지적해주시면 감사하겠습니다. 스토리보드는 iOS 5 SDK 부터 추가된 것으로서, 기존 UI 작업과는 달리, 어플리케이션 내에 화면간의 흐름 제어를 포함한 전체적인 형태를 한 군데에서 작업할 수 있도록 구성한 기능입니다. 비주얼적으로 나타나므로 직관적으로 어플리케이션의 화면 흐름을 볼 수 있고, 인터페이스 빌더만으로도 기본적인 화면 흐름은 대부분 구성이 가능합니다. 인터페이스 빌더로 노출.. 2013. 2. 27.
MPMoviePlayerViewController 에서 중복된 Notification 호출 문제 원인 및 처리방안 MPMoviePlayerViewController 에서 중복된 Notification 호출 문제 원인 및 처리방안 조건: 1. MPMoviePlayerViewController 사용. 2. NSNotificationCenter 에 MPMoviePlayerPlaybackDidFinishNotification 등록 3. 초기화 시점에 재생할 파일명을 넣어둠 (initWithContentURL) 4. 직후 shouldAutoplay = YES, repeadMode = NO 설정 5. 최종적으로 presentMoviePlayerViewControllerAnimated 사용 6. 영상이 매우 짧음. 시작하자마자 종료되는 수준. 0.1초 이내가 아닐까? 7. 일단은 아이패드에서 발생했음. 하지만 아이폰도 발생하는 .. 2012. 8. 9.
iOS 에서 raw 픽셀 데이터로부터 이미지 개체 생성하기 iOS 에서 raw 픽셀 데이터로부터 이미지 개체 생성하기* iOS 가 업데이트되면서 크게 변경된 내용이 있습니다. http://gcempire.tistory.com/552 를 참고해 주세요. * 여기서 raw 픽셀 데이터란, 디지털 카메라의 raw 포맷과는 의미가 좀 다르므로 유의하시기 바랍니다. iOS 의 그래픽스와 이미지 체계는 꽤나 복잡하다. 특히 이쪽 계통의 문제는 Objective-C 가 아닌 C 형식의 문법을 지니고 있는 것이 많다는 것. iOS 5.0 에 와서는 Core Image 라이브러리가 추가되면서 Objective-C 레벨로 어느 정도 올라오는 듯 보였지만, UI 라이브러리에서 직접 사용할 수 있는 이미지 생성은 불가능하고, 결국 화면상에 표시를 위해서는 Core Graphics 를.. 2012. 7. 8.
Xcode 4 에서 업데이트 시 가끔씩 화면에 아무것도 안나올 때 Xcode 4 에서 업데이트 시 가끔씩 화면에 아무것도 안나올 때.. 그게 1분이 지나도 2분이 지나도 나올 생각이 없을 때...디스크 용량을 한 번 쯤 확인해보세요~디스크 풀인 경우가 있습니다 =_=. 보통 휴지통을 안비우다 발생하는 경우가 많죠~ 2012. 5. 8.
Xcode 4 빌드 디렉토리 클리닝 작업 Xcode 3 에서 빌드 디렉토리가 프로젝트 디렉토리 아래에 있던 것과는 달리, Xcode 4 에서는 빌드 디렉토리가 별도의 폴더 아래 있게 되었다.위치는 사용자 디렉토리/Library/Developer/Xcode/DerivedData/ 이다. 사용자 디렉토리 아래의 Library 디렉토리는 hidden 이므로 주의. (쉽게 접근하는 방법은 다음번에 간단히 설명할 예정)일단 이 방법은 빌드 디렉토리가 프로젝트 디렉토리에서 빠지다 보니 커밋 대상에서 간단히 배제되어 Xcode 3 시절처럼 빌드 디렉토리 뺀다고 뻘짓거리 할 필요도 없고 (svn ignore 안해주면 커밋할 떄 빌드 디렉토리가 통째로 추가되는 불상사가...) 프로젝트 압축할 때에도 빌드 디렉토리 지우고 자시고 하는 복잡한 작업을 안해도 되니 .. 2012. 5. 6.
UINavigationController 에서 navigationBar 변경 참고 페이지 http://stackoverflow.com/questions/1869331/set-programmatically-a-custom-subclass-of-uinavigationbar-in-uinavigationcontrol 개요 UINavigationController 기본 클래스는 생성하면 더 이상 navigationBar 및 toolbar 등의 각종 구성 요소들에 대한 변경을 허용하지 않는다. 실제로 API 문서를 보면, 이들 프로퍼티가 readonly 로 되어있음을 확인할 수 있다. 왜 그런지에 대한 고민은 일단 마지막에 하도록 하자 따라서 UINavigaionBar 를 교체하려면 어지간히 골치가 아프다. public 함수들이 극히 제한적인 관계로 오버라이딩해서 프로퍼티를 엎어쓰는 것도 .. 2012. 3. 26.
UIImage 의 imageNamed: iOS 개발 경험이 많지 않은 시점에서 위의 메소드를 사용하다가 종종 비정상종료를 경험한 사람들이 있으리라 생각한다. 오늘은 이에 대해 언급해 볼까 한다. 일반적인 iOS 의 메모리 정책에 따르면, 해당 클래스의 정적 메소드들이 개체값을 반환 시, 자신이 직접 관리하는 형태가 아니라 생성하고 끝내는 형태라면, 해당 개체에 autorelease 를 걸어서 자신이 더 이상 소유권이 없다고 명시하고 반환하는 것을 원칙으로 하고 있다. 따라서, 이러한 개체를 반환받았을 때, 이 개체를 런타임 중에 지속적으로 사용하려 한다면, 해당 개체에 retain 을 걸어 해당 개체의 지속성을 직접 연장해야만 하는 것이 iOS 상의 기본적인 개체 사용 패턴이다. 하지만 위에서 이야기했듯이, 자신이 직접 관리하는 형태, 즉 개.. 2011. 12. 20.
반응형