다시 버튼 만 있으면 특별한 이벤트가 없습니다. 대신 다양한 viewWillAppear:
, viewWillDisappear:
등의 방법을 사용할 수 있습니다. 예 :
//In View2:
- (void) viewWillDisappear:(BOOL) animated {
[super viewWillDisappear:animated];
if (!goingToSubscreen) {
//Do something important here
}
goingToSubscreen = NO;
}
//In View1:
- (void) viewWillAppear:(BOOL) animated {
[super viewWillAppear:animated];
if (wentToSubscreen) {
//Do something important here
}
wentToSubscreen = NO;
}
booleanansToSubscreen 및 goingToSubscreen은 이름이 지정된대로 설정해야합니다. View2 상단의 탐색 컨트롤러에 다른보기를 밀어 넣는 경우 중요한 항목을 수행하지 않도록 goingToSubscreen을 YES로 설정해야합니다. 반대로 View2를 누르면 View1에서 wentToSubscreen을 YES로 설정해야합니다. 그러면 다시 표시 될 때 해당 화면에서 돌아와서 재미있는 일이 발생하고 View1이 처음 표시 될 때가 아닙니다.
편집 :는 아이폰 OS 5.0, 나는가 내장되어이 속성을 생각 . isBeingDismissed
은 viewWillDisappear:
동안 YES
으로 설정하고 뒤로 단추를 누른 경우 viewDidDisappear:
으로 설정합니다. 참고로, 확인할 수있는 속성은 다음과 같습니다
뒤로 버튼의 제목을 변경으로 isMovingFromParentViewController
isMovingToParentViewController
isBeingPresented
isBeingDismissed
이 있으며,이 건물은 이전보기의 뒤로 버튼 항목에 속하는 :
View1.navigationItem.backBarButtonItem.title = @"My New Title";
나 :
View1.navigationItem.backBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:@"New Title" style:UIBarButtonItemStyleBordered target:nil action:nil] autorelease];
세 번째 옵션은 사용자 지정 단추를 사용하여 뒤로 단추를 바꾸는 것입니다. 그것은 당신이 -viewWillDisappear:
을 사용할 필요가 없도록 전화하는 당신 자신의 방법을 지정할 수있게 할 것이지만, 이렇게하면 뒤로 화살표 버튼 대신에 사각형으로 버튼을 보여줄 것입니다. 이 단추는 View1 대신 View2를 사용합니다.
View2.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:@"New Title" style:UIBarButtonItemStyleDone target:self action:@selector(dismissView)] autorelease];