2013-07-22 2 views
2

메모리 관리 문제가 있었고 마침내 문제가 있음을 알게되었습니다. 새 뷰 컨트롤러를 인스턴스화합니다. 앱이 실행되면 스토리 보드에있는 UITabBarController의 요소 인 FirstViewController으로 곧바로 이동합니다.내 스토리 보드에있는 UITabView로 viewcontroller를 다시 열 수 없습니다.

나는 다음이 방법으로 FilterViewController을 보여

잘 작동하고 자신의 .xib을 가지고 FilterViewController을 제공합니다, 그래서 스토리 보드에서 하지입니다
- (IBAction)searchOptions:(id)sender { 
    FilterViewController *ctrl = [[FilterViewController alloc] init]; 
    [UIView transitionFromView:self.view toView:ctrl.view duration:1 
      options:UIViewAnimationOptionTransitionCurlUp completion:nil]; 

    self.filterViewController = ctrl; 

    [self.navigationController pushViewController:self.filterViewController 
      animated:NO]; 
} 

.

- (IBAction)backToMap:(id)sender { 

    // i used the below when trying to push another view controller 
    /*UIStoryboard *storyboard = [UIStoryboard storyboardWithName 
     :@"MainStoryboard" bundle:nil]; 

    FirstViewController *fvc = [storyboard 
     instantiateViewControllerWithIdentifier:@"FirstViewController"]; 

    fvc.modalTransitionStyle = UIModalTransitionStyleCoverVertical;*/ 

    [self.navigationController popViewControllerAnimated:YES]; 
} 

는 아무것도 할 나던 그러나 : 다시 FirstViewController에 팝업을 시도 할 때

는 지금은이 방법을 사용합니다. 아무것도, 나는 여기서 무엇이 잘못되었는지 안다?

+0

'transitionFromView : toView : duration : options : completion :'호출이 완전히 잘못 보입니다. 그것을 제거하고 어떻게되는지보십시오. –

+0

@MatthiasBauch 안녕하십니까, 코멘트를 주셔서 감사합니다, 그것을 제거하고 버튼 doesnt 열어 이제 viewcontroller를 –

+1

다음 FirstViewController 아마도 navigationController의 일부가 아닙니다. 'self.navigationController'가 nil인지 확인하십시오. 그것은 당신이 FirstViewController UINavigationController 포장 해야하는 경우 –

답변

1

popViewontrollerAnimated는보기 컨트롤러를 탐색 스택에 밀어 넣었을 때만 사용되므로 프로젝트에없는 한 여기서는 아무 것도하지 않습니다.

transitionFromView ...를 사용하면 입니다.은 현재보기를 새보기로 바꾸기 때문에 이전보기로 다시 되돌리려면 다시 호출해야합니다.

+0

사실 내가하는 방식에는 아무런 문제가 없습니다. 더 효율적인 메모리 방식이 있습니까? –

+0

자, searchOptions 메소드에 추가 호출이 있습니다. 이보기 컨트롤러로 돌아 가지 않으므로 처음 두 번의 호출 만 필요합니다. 그러나 메모리는 괜찮을 것입니다. – lnafziger

관련 문제