전체 글
-
[iOS] navigationController의 topViewController앱등이에게 살충제를 뿌린다./일기는 일기장에 2016. 6. 15. 11:26
navigationController에는 viewControllers라는 [UIViewController]타입의 프로퍼티가 있다.navigationController의 rootViewController는 이 프로퍼티의 0번째 인덱스이고, 현재 보여주고 있는 화면은 마지막 인덱스에 있을 것이다. 따라서 현재 화면은 navigationController.viewControllers.last 라는 접근을 통해서 언을수 있다.근데 이를 보다 쉽게 UINavigationController.h에서는 topViewController라는 프로퍼티를 제공해주고 있다.
-
UITabBarController, UITabBar, UIToolbar.. 무엇을 선택할까?앱등이에게 살충제를 뿌린다./일기는 일기장에 2016. 6. 5. 22:34
한개의 네비게이션 컨트롤러를 사용하는 앱을 개편하면서 탭바를 적용했다. iOS 앱에서 탭바를 보게되면 탭 별로 NavigationController를 갖는 것으로 기대하기 쉽다. Ex) 카카오톡, 인스타그램, 페이스북 하지만 안드로이드와 협의하에 1개의 네비게이션만 존재하고 탭을 누르면 네비게이션의 rootViewController가 변경되고 popToRootViewController하는 방식으로 채택 고민한 선택 방안은 4가지 UITabBarController UITabBar UIToolbar NavigationViewController.toolbar 장점 델리게이트메소드가 풍부함 커스터마이징이 좋음 커스터마이징이 좋음 viewController.view의 frame관리가 편함 단점 하나의 Naviga..
-
UITabBarController에 탭바를 버튼처럼 사용하기. feat.인스타그램앱등이에게 살충제를 뿌린다./iOS 2016. 5. 30. 16:32
인스타그램의 UI입니다. 가운데 탭을 누르면 현재 탭에 modal로 사진을 고르는 화면이 present됩니다.어떻게 한걸까요? UITabBarController에 tab만 넣고 viewController를 넣지 않는 것은 불가능하기에 아래 시나리오처럼 따라주세요.코드는 그냥 수도코드로 봐주세요~ 1. TabBarController의 viewControllers에는 5개의 viewController를 넣어주세요. 가운데 탭에 해당하는 viewController는 fake입니다. 사용하지 않을 viewController이기 때문에 아무 인스턴스나 넣어주시면 됩니다. 2. UITabBarControllerDelegate의 메소드인 optional func tabBarController(_ tabBarContr..
-
[Apple Dev Reference] Nullability and Objective-C앱등이에게 살충제를 뿌린다./Apple Dev Reference 2016. 5. 22. 18:04
Nullability and Objective-C글 하단에 3줄요약 해놓음 Swift와 Objective-C를 한 프로젝트에서 같이 사용할 수 있다는 것. Swift의 장점 중 하나입니다.(이걸 장점이라고 해야하나 모르겠네요) 하지만 Objective-C와 Swfit에는 명백히 많은 차이점이 존재합니다. 그 중 하나를 예로 들어보겠습니다. Swift에는 Optional타입과 non-Optional타입이 존재합니다. NSView와 NSView?같이 말이죠. 반면에, Objective-C에는 딱 하나 NSView *만 존재하고 있습니다. 이 차이점으로 인해 컴파일러는 혼돈이 생길 수 밖에 없습니다. NSView *가 Optional인지 non-Optional인지 알 도리가 없는거죠. 따라서 현재(Swift2..