2013-08-06 3 views
0

이것은 어리석은 문제처럼 보입니다. 그러나 나는 그것을 해결할 수 없습니다."시작/종료 모양 전환의 불균형 통화"?

내 사용자가 앱의 홈 화면에있는 아이콘을 클릭하면 아이콘이 모달 쎄그를 실행하여보기를 엽니 다. 여기에서 사용자는 다른 버튼을 클릭하여 상세보기로 푸시 할 수 있습니다. 키커가 있습니다. 사용자가 세부 정보보기에서 다른 버튼을 클릭하면 오류가 발생합니다.

"불투명 한 통화가 시작/종료 전환됩니다."

나는 원래 모달의 오버 톱 (overtop)을 겹쳐서 겹쳐서지기 때문이라고 가정하고 있습니다. 즉, 프로세스는 다음과 같습니다. 모달, 푸시, 푸시. 세 번째로 밀어 넣으면 위의 "오류"가 콘솔에 나타납니다.

어떻게 해결할 수 있습니까?

하는 .m I 앱 구조, 그리고 당신이 할 노력하고 이해하면

- (IBAction)purchasebuttonpressed:(id)sender 
{ 
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_1" bundle:nil]; 
    StrainDetailViewController *yourViewController = (StrainDetailViewController *)[storyboard instantiateViewControllerWithIdentifier:@"DispensaryViewController"]; 

    [self.navigationController pushViewController:yourViewController animated:YES]; 



} 
+0

조치 방법이 purchasebuttonpressed 인 버튼에 segue가 연결되어 있습니까? 당신은 그것을 세그 (segue)라고 부르지 만, 수동으로 밀어 넣습니다. – rdelmar

+0

죄송합니다. 그냥 밀어. 이 코드는 내 XIB 파일 (DetailView)에 있습니다. 버튼이 내 StoryBoard의보기로 "밀고"있습니다. –

+0

컨트롤러 계층 구조에서 내비게이션 컨트롤러는 어디에 있습니까? – rdelmar

답변

1

, 당신이 배열을 변경할 필요가 있다고 생각 : 여기에 오류가 발생 SEGUE/코드는 컨트롤러의에 :

HomeViewController (the window's root view controller) 
    | 
    | modal segue to: 
    | 
NavigationController whose root view controller is ViewController 
    | 
    | push to : 
    | 
TableViewController 
    | 
    | push to: 
    | 
DetailViewController 

내가 선호하는이 작업을 수행하는 또 다른 방법, 그리고 끝까지 HomeViewController는 시작 화면 또는 시작 화면 같은 경우 - 먼저 본 후 다시 올 필요가 없습니다 뭔가 그것은, navigat을 만드는 것입니다 이온 컨트롤러는 윈도우의 루트보기 컨트롤러입니다. 내비게이션 컨트롤러의 루트보기 컨트롤러 (ViewController)에서 ViewDidAppear 메서드의 HomeViewController를 애니메이션없이 모달로 표시하므로 사용자가 제일 먼저 보게됩니다. 사용자가 계속 나아 가기를 원하면 HomeViewController를 닫고 ViewController에있게되고 HomeViewController가 할당 해제됩니다. 해당 viewDidAppear 메서드에 논리를 넣어야 HomeViewController의 프레젠테이션이 처음으로 viewDidAppear가 호출 될 때만 발생합니다.