대부분 알고 계실텐데,
간혹 modal viewController에서 navigation Controller의 root viewController로 돌아가는 방법을 질문하시는 분이 계셔서 올립니다 ^^
제가 쓰는 방법은,
modal viewController를 사용할 viewController에 다음과 같이 프로토콜을 정의합니다.
@protocol ModalViewControllerDelegate <NSObject>
-(void)modalViewControllerDone:(UIViewController *)viewController;
@end
그리고 Modal ViewController를 띄우실 때 delegate 설정을 해당 viewController로 해주시구요.
parentViewController *controller = [[[parentViewController alloc] init]autorelease];
[controller setDelegate:self];
[self.navigationController presentModalViewController:controller animated:YES];
Modal ViewController로 사용하실 Controller에서
@interface wayPointListViewController : UIViewController
{
id delegate;
}
@property (nonatomic,assign) id delegate;
로 delegate용 변수를 하나 설정합니다.
그 뒤 modal ViewController에서 다음과 같이 호출하시면 됩니다.
#pragma mark button method
-(void)pushBack:(UIButton *)theButton
{
[self dismissModalViewControllerAnimated:YES];
[delegate modalViewControllerDone:self];
}




최근 덧글