-
Notifications
You must be signed in to change notification settings - Fork 2
4차 모임 진행 내용 01
nephilim edited this page Apr 9, 2011
·
1 revision
- 정의
- view를 '표시'하고 '관리'
- 예: view lifecycle management, navigation
- 하는 일 요약: 화면(view)을 present, populate, interact
- 배경: iOS의 small screen은 content 분배가 발생할꺼야 아마...
- 종류
- custom vc
- container vc
- navi, tabbar, split vc
- 거의 기존에 있는 걸 쓴다.
- modal view controller
- parent-child 관계로 창이 뜨는 '방식'
- figure 1-2(p17): class overview
- 주로 포함하는 내용
- glue code between Model and View
- cooperate with other vc
- UIViewController
- vc.view
- ViewBasedApp-AppDelegate로 확인
- 예: table view controller
- tableVC를 만들어야 한다면? 불편
- table-related behavior
- section header!
- table header!
- TableViewProgrammingGuide
- tableview.view: rotate, alpha ... > 조절가능
- (p28)associated items
- viewcontroller에 붙어 있는 것들(p61)
- navigation item
- toolbar item
- tabbar item
- contrainer 뷰에 얹혀서(!) 보임
- viewcontroller에 붙어 있는 것들(p61)
- (p29) view controller 내용 미리보기
- subclass UIViewController
- member vars: data object
- member vars: view object
- action
- 기타 관련 객체 용어
- status bar
- navigation bar
- tab bar
- tab bar items
- title
- nib
- view load
- request vc.view 2-1. (view) return view 2-2. (!view) loadView
- viewDidLoad
- view를 채워넣는 방법 (p40)
- 오버라이드하기: loadView()
- 뷰 초기화
- [[view alloc] initWithFrame: [UIScreen mainScreen].applicationFrame];
- super 호출 금지: default view load가 쓸데없이 수행
- 향후 코어 그래픽스 등으로 새로운 view을 만들어보자!
- 뷰 초기화
- nib 로드
- 빈 UIView 객체
- 오버라이드하기: loadView()
- low-memory warning
- didReceiveMemoryWarning()
- default 구현은 소극적 view release > viewDidUnload()
- 전략적으로 override 필요
- didReceiveMemoryWarning()
- clean up
- (p41) release, assign nil
self.myProperty = nil // 1.
[myProperty release]; // 2.
myProperty = nil;
- viewDidUnload
- dealloc
- view 표시 관련
- (p55, p56)
- viewWillLoad: view를 윈도우에 표시하기 전
- viewDidLoad: view를
- viewWillUnload
- viewDidUnload
- ?
- 만들어진 vc표시하기: (p53)
- frame 지정하기: custom view controller의 경우는 해주는게 좋다.
- (void)applicationDidFinishLaunching:(UIApplication *)application {
// At this point, the main nib file is loaded.
// It is a good idea to set the view's frame before adding it to a window.
[viewController.view setFrame:[[UIScreen mainScreen] applicationFrame]];
[window addSubview:viewController.view];
[window makeKeyAndVisible];
}
- nib as metadata
- link thru file's owner
- integrated nib = vc + view
- (p36) figure 2-5
- create modal vc programmatically
- (p34)
- 다음 과제
- shouldAutorotateToInterfaceOrientation:
- UIInterfaceOrientationPortrait
- UIInterfaceOrientationLandscapeLeft
- vc이다!
- navigation > modal,
- modal > navigation이 연결되기도 한다.
- (p22) tab bar는 단절된 기능
- not a specific vc,
- but a "way" of presenting any view controller