-(void) presentSecondViewController {
UIStoryboard* mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
UIViewController* mainViewController = [mainStoryboard instantiateViewControllerWithIdentifier:@"main_viewcontroller"];
UIStoryboard* secondStoryboard = [UIStoryboard storyboardWithName:@"SecondStoryboard" bundle:nil];
UIViewController* secondViewController = [secondStoryboard instantiateViewControllerWithIdentifier:@"second_viewcontroller"];
[mainViewController presentViewController: secondViewController animated:YES completion: NULL];
}는 첫 번째 스토리의 초기 뷰 컨트롤러의 두 번째 인스턴스를 생성한다. 이 인스턴스는 이미 표시된 것과 다르기 때문에 화면에 표시되지 않으므로 두 번째보기 컨트롤러가 표시되지 않습니다. 뷰 컨트롤러의 인스턴스가 이미 표시되어야합니다. 가장 좋은 방법은 구현을
-(void) presentSecondViewControllerFromViewController:(UIViewController *)sourceController
{
UIStoryboard* secondStoryboard = [UIStoryboard storyboardWithName:@"SecondStoryboard" bundle:nil];
UIViewController* secondViewController = [secondStoryboard instantiateViewControllerWithIdentifier:@"second_viewcontroller"];
[sourceController presentViewController: secondViewController animated:YES completion: NULL];
}
으로 변경하고 버튼이 포함 된보기 컨트롤러를 전달하여 호출하는 것입니다.
안녕하세요, TriPhoenix, 정말 고마워요, 나는이 작품이 매력처럼보고 드리겠습니다. 별도의 스토리 보드와 관련 코드를 다른 프로젝트에 포함시키고 이러한 방식으로 재사용 할 수 있습니다. –