2012-10-11 3 views
3

Xcode 4.5에는 스토리 보드 식별자가 더 이상 식별자가 아니라 스토리 보드 ID라는 일부 변경 사항이 있습니다. 나는 그것을 사용하려고 시도했지만 아무것도 시작하지 않는다. 항상 비어 있습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?instantiateViewControllerWithIdentifier 빈 화면보기 (xcode 4.5)

:

[self presentViewController:historyVC animated:YES completion:nil]; 

또는

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

또는

[self presentModalViewController:historyVC animated:YES]; 
스토리 보드에서 설정에 대한

페이지의 스크린 샷과 함께

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Storyboard" bundle:nil]; 

HistoryViewController* historyVC = [storyboard instantiateViewControllerWithIdentifier:@"histSB"]; 

enter image description here

+0

표준'MainStoryboard.storyboard' 외에도'Storyboard.storyboard'라는 두 번째 스토리 보드 파일이 있습니까? – ilmiacs

+0

그래서 나는 그 중 하나만 가지고 ... 내가 그걸 불렀다. (이름 지정에 관한 규칙이 있다는 것을 깨닫기 전부터 였지만, 스토리 보드가 잘로드되고 있습니다.) – minjiera

+0

하나만있는 경우 상위 SB가 동일한 SB에 정의되어 있습니다. 이 경우에는 대신'self.storyboard'를 사용할 수 있습니다. 나는 항상 문제없이 사용합니다. 이것도 작동하지 않는다면 아마도 sth가있을 것입니다. 귀하의 VC 구현에 대해. – ilmiacs

답변

3

이것은 내 응용 프로그램에서 몇 시간을 사용하는 것이고 그 부분은 비실용적이었습니다. 위에 제공된 코드와 스크린 샷에서가는, 여기에 내가 그것을 철사 줄 방법은 다음과 같습니다 당신이 아이 패드에 popopver에서 뷰 컨트롤러를 표시하는 경우

HistoryViewController *historyVC = [self.storyboard instantiateViewControllerWithIdentifier: @"histSB"]; 
[self.navigationController pushViewController: historyVC animated:YES]; 

이 특히 유용합니다. 스토리 보드에 자신의 네비게이션 컨트롤러와 뷰를 추가 네비게이션 컨트롤러의 왼쪽에 들어오는 더 SEGUE가 없습니다

enter image description here

공지있다. 다음 코드는 팝 오버 이것을 표시

HistoryViewController *historyVC = [self.storyboard instantiateViewControllerWithIdentifier: @"histSB"]; 
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController: historyVC]; 
UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController: navigationController]; 

당신은 다음 SEGUE 통해 탐색 컨트롤러에 다른 뷰 컨트롤러를 추진하기위한 기초로 사용할 수있다 (뷰 컨트롤러의 우측으로 하나의 통지)

[self performSegueWithIdentifier: @"WhateverComesNextSegue" sender: self]; 

희망이 있습니다.