티스토리 뷰

iOS/자료정리

[iphone] UINavigationController

썩소천사 2011. 8. 8. 18:54
반응형

//생성
mainViewController = [[MainViewController alloc] init];
naviController = [[UINavigationController alloc]initWithRootViewController:mainViewController];
[naviController setNavigationBarHidden:YES]; //상단 타이틀 배경 숨김
[self.window addSubview:naviController.view];
[mainViewController release];

//MainViewController 에서 다른 View를 추가할 경우
SubViewCont *subView = [[SubViewCont alloc] initWithFrame:CGRectMake(0, 0, 320, 480) controller:self];
[self.navigationController pushViewController:subView animated:YES];
[subView release];


//마지막 추가한 View를 하나만 삭제할 경우
[self.navigationController popViewControllerAnimated:YES];

//추가했던 모든 화면을 삭제할 경우
[self.navigationController popToRootViewControllerAnimated:YES];

//push로 추가한 화면에 위치를 전체 화면으로 하기 위해서는 push를 한 Controller에서 추가해주면 된다.
//설정을 해주지 않을경우 20픽셀 밑으로 내려간 상태로 화면이 추가된다.
self.wantsFullScreenLayout = YES;

//주의

하나의 navigationController에 또 다른 viewController을 push가 아닌 addSubView를 했을 경우에는 release 처리는 addSubView한 Controller을 지울 때 같이 지워줘야 한다. 그렇지 않고 해당화면에 addSubView된 상태에서 또다른 viewController을 push할 경우 addSubView로 추가한 viewController는 자동으로 dealloc 된다.

반응형
댓글
반응형