2011-12-12 5 views
2

특정 조건이 충족되면 스토리 보드를 사용하고 이전 화면으로 돌아가려고합니다. IE에서 로그인시 사용자 이름을 찾을 수 없습니다.스토리 보드 - 자동으로 이전 화면으로 돌아 가기

기본적으로 사용자는 정보를 입력하고 버튼을 누릅니다. 정보가 부정확하거나 발견되지 않으면 잘못된 정보를 알리기 위해 UIAlertView 메시지를 표시합니다. 주문이 완료되면 서버로 데이터를 확인하기 전에 단추를 눌렀을 때 화면 전환이 발생합니다. 따라서 확인하기 전에 화면 변경을 중단 할 수 없습니다. 내가 다시이 방법가는 신호에 대한 UIAlertView에 사용자의 버튼을 눌러 확인하고

..

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 
{ 
    [self.navigationController popViewControllerAnimated:YES]; 

} 

내가 이전 화면으로 돌아가려면 그 방법에 한 줄을 사용하려고하지만, 아무 반응이 없습니다. 스토리 보드가 다르게 작동한다고 가정하지만 이전 화면으로 돌아가는 구문을 알지 못합니다.

감사합니다.

+0

여기에 귀하의 질문에 대한 답변이 없지만 로그인 화면으로 다시 돌아와 사용자에게 무슨 일이 일어나는지 알려주는 넌 모달 메시지를 제시하는 것이 좋습니다. UIAlertView는 매우 조심스럽게 사용해야하며 넌 모달이 아닌 사용자 환경이 더 좋습니다. – Besi

+0

괜찮습니다. 그런데 어떻게하면 자동으로 첫 번째 화면으로 돌아갈 수 있습니까? 여기서 문제는 UIAlertView에서 시도하는 것이 아닙니다. 사용자가 다음 화면에서 '뒤로'버튼을 누르지 않으면 자동으로 첫 번째 화면으로 돌아갈 수 없습니다. –

답변

1

스토리 보드가보기 컨트롤러를 누른다면 항상 프로그래밍 방식으로 팝업 할 수 있습니다. 이것은 문제가되지 않습니다. 여기서 문제는 UIAlertView가 애니메이션을 사용하여 표시되므로 한 번에 다른 애니메이션을 수행 할 수 없다는 것입니다.

  1. 두 가지 옵션이 있습니다. 애니메이션없이 뷰 컨트롤러를 터뜨리면 작동하지만 사용자가 어디로 가고 있는지 알지 못할 수도 있습니다.

  2. viewcontroller를 호출하는 호출을 도우미 메서드에 넣고이 methd를 [self performSelector:@selector(myPopHelperMethod:) withObject:nil afterDelay:0.8f]과 같이 호출 할 수 있습니다. UIAlertView가 애니메이션을 끝내기에 충분한 0.8 초 후에 뷰 컨트롤러가 팝업됩니다.

+0

popViewControllerAnimated :를 NO로 설정하고 아무 것도 효과가없는 것 같습니다. 나 또한 도우미 메서드를 시도 .. 나는 여전히 전화 [self.navigationController popViewControllerAnimated : 예]; myPopHelperMethod의 은 맞습니까? 그렇다면 아무 것도하지 않습니다. 내가 말할 때까지 사용자가 버튼을 누르면 뷰 변경을 중단 할 수 있습니까? 스토리 보드로 화면이 변경 될 때 프로그래밍 방식으로 설정하는 방법을 모르겠습니다. 나는 단순히 스토리 보드보기에서 Ctrl + 클릭 드래그를 통해 이들을 연결하는 방법을 알고 있습니다. –

+0

View Controller를 팝업하려고 할 때 self.navigationController가 0이 아닌 것은 확실합니까? – Besi

+0

추가 조사에서 storyboarding은 기본적으로 navigationcontrollers를 전혀 사용하지 않는 것으로 나타났습니다. 분명히 null 인 이유가 추가되어야합니다. 하지만 그렇게되면 처음부터 원하는 것을 할 필요가 없다고 생각하게됩니다. –

0

나는 당신의 self.navigationController이 방법 무 조작하게하는, 전무 것 같다 것입니다.

+0

이것에 대해 살펴 보겠습니다. –

+0

추가 조사에서 스토리 보딩은 기본적으로 navigationcontrollers를 전혀 사용하지 않는 것으로 나타났습니다. 추가해야하며 분명히 null이됩니다. 하지만 그렇게되면 처음부터 원하는 것을 할 필요가 없다고 생각하게됩니다. –

+0

아, 네가 맞아. 다른 방법이 있어야 해. – jv42

관련 문제