2013-11-14 11 views
0

다른보기 컨트롤러에 UIImagePickerController에서 segue를 만들려고합니다.UIImagePickerController의 Segue

UIImagePickerController가 UINavigationController의 하위 클래스라는 것을 알고 있기 때문에 push segue를 시도했지만 작동하지 않았습니다. 오류는 "소스 컨트롤러가 UINavigationController 인스턴스에 의해 관리 될 때만 밀어 넣기를 사용할 수 있습니다."입니다.

이제 모달 세구를 시도하지만 화면이 어두워지면 화면이 검게 변합니다.

두 가지 문제 사이에 링크가 있으며 어떻게 수행 할 수 있습니까?

+1

코드를 공유 할 수 있습니까? – iCode

답변

2

UIImagePickerController에서 바로를 수행 할 수 없습니다.

대상 컨트롤러에 UIImagePickerController을 인스턴스화하는보기 컨트롤러에서 밀어 넣기 세그를 추가하십시오.

소스 VC에 메소드 didFinishPickingMediaWithInfo:을 구현하고 그 메소드 내에 self performSegueWithIdentifier: sender:을 호출하고 세그멘트의 세그먼트 식별자가 최근에 생성되었습니다.

물론 소스 코드 헤더 인터페이스에 segue에 대한 식별자를 설정하고 UINavigationControllerDelegate, UIImagePickerControllerDelegate 프로토콜 참조를 추가해야합니다.

대상 VC에 일부 데이터 (예 : 이미지 정보)를 전달해야하는 경우 소스 VC에 prepareForSegue: 메서드를 구현해야 할 수도 있습니다.

+0

'UIImagePickerController'를 인스턴스화하는 뷰 컨트롤러가 없습니다. 'UIImagePickerController'는 내 앱의 첫 번째 뷰 컨트롤러입니다. UIImagePickerController를 인스턴스화하는 뷰 컨트롤러를 갖기 위해 어떻게해야하는지 설명하는 링크가 있습니까? – Arnaud

+0

스토리 보드에 UIImagePickerController를 어떻게 추가하려고하는지 잘 모르겠습니다. 지금까지 내가 아는 한, Xcode는 그렇게 할 수 없습니다. 쿼리의 두 번째 부분에 대해서는 일반 UIViewController를 스토리 보드에 추가 할 수 있습니다. 이 VC 내부에서 버튼 클릭으로 UIImagePicker 컨트롤러를 인스턴스화 할 수 있습니다. 그리고 당신이 당신의 심상을 쑤시거나 당신의 심상을 붙잡은 후에 당신은 나가 이전에 토론 한대로 항상 필요한 segue를 실행할 수있다. 몇 가지 코드를 공유 할 수 있다면 도움이 될 수 있습니다. –

+0

많은 코드가 없지만 여기에 내가 한 일이 있습니다. 스토리 보드에 뷰 컨트롤러를 배치했고 클래스를 UIImagePickerController로 변경했습니다. 일을하는 것이 잘못된 방법입니까? UIImagePickerController는 버튼을 클릭 한 후에가 아니라 앱을 시작할 때 여기에 있습니다. – Arnaud

관련 문제