2012-02-28 4 views
0

leftBarButtonItem을 통해 해독 될 때 (부모보기 컨트롤러로 돌아 가기 위해 스택에서 팝되면) 일부 코드를 실행하려는 UIViewController가 있습니다. 이 뷰에는 독자적인 하위 뷰가 있으므로 viewWillDisappear를 사용할 수 없습니다.leftBarButtonItem에 리스너 추가

사용자가 왼쪽 막대 단추를 눌러 수퍼 뷰로 돌아갈 때 사용자 지정 메서드를 호출하는 가장 좋은 방법은 무엇입니까?

답변

1

서브 뷰가있는 경우에도 viewWillDisappear을 사용할 수 있습니다.

하위 작업에서 특정 작업을 수행해야하는 경우 viewWillDisappear에서도 실행하십시오. 어떤 이유로 당신이 왼쪽 막대 버튼 항목 탭을 감지해야하는 경우

는 가장 좋은 건은 닮은 UIImageView와 그 UIViewController의 실제 UINavigationBar를 오버레이하고 (사용자 지정 닮은 왼쪽의 "뒤로"버튼을 구현하는 것입니다 표준 UIButton).

링크 다음 IBAction를하고에 사용자 정의 버튼을 클릭하면 거기에 문제는 그 서브 뷰로드, 그것은에 반환 단지 때 때 내보기가 사라집니다

[self.navigationController popViewControllerAnimated:YES]; 
+0

다음에 무엇을해야 작업을 수행 그 superview, 그래서 viewWilDisappear 아웃입니다. 그 주문품은 조금 불행한 것 같습니다. 어쩌면 내가 다른 방향으로 가야한다 ... –

+0

이것은 확실히 전체 접근법이 일부 재 작업을 사용할 수있는 것처럼 들리지만 빠른 수정으로 viewWillDisappear 내에서 검사를 실행하여 팝업되거나 하위 뷰가로드되었는지 확인할 수 있습니다. 또한 Storyboard로 전환하여'- (void) prepareForSegue : (UIStoryboardSegue *) segue sender : (id) sender' 메서드를 사용하여 필요에 맞게 사용자 정의 할 수 있습니다. – 0x90

+0

나는 그것을 재고 할 것이지만, 그것들은 좋은 생각이다. 감사! –

관련 문제