2011-10-25 2 views
0

저는 건물에있는 iPhone 앱에서 MFMailComposeViewController를 사용하려고하는데 제대로 작동하지 않습니다. 나는 애플의 샘플 코드 MailComposer을 따르고 있었다. 샘플에서 볼 수 있듯이 MFMailComposeViewController를 사용하면 원하는 메시지를 입력 할 수 있으며받는 사람의 경우 전자 메일 주소를 입력하거나 연락처에서 선택할 수 있습니다. 내 구현은 샘플과 동일하며 MFMailComposeViewController가 나타나고 예상대로 사라집니다. 그러나 컨트롤러는 읽기 전용 모드 인 것 같습니다. 즉, 사용자는 임의의 필드를 변경할 수 없다. 컨트롤러를 표시하기 전에 프로그래밍 방식으로 다른 필드의 값을 변경할 수 있지만 일단 표시되면 아무 필드 나 수정할 수 없습니다. 나는 모든 것을 여러 번 검사했지만, 구현과 애플 사이에 다른 것을 찾을 수는 없다. 나는 곤두박질 친다! 전에이 문제가 발생 했나요? 어떤 제안?MFMailComposeViewController는 읽기 전용 모드로 기본 설정됩니다.

여러분 모두에게 도움이 될 수있는 많은 도움을 주셔서 감사합니다.

답변

1

발견! 내 애플리케이션의 부모보기 컨트롤러는 흔들기를 듣기 때문에 응답을받는보기 컨트롤러가 첫 번째 응답자가되어야합니다. 부모보기 컨트롤러는 MFMailComposeViewController를 표시하기 전에

[self resignFirstResponder]; 

을 호출해야합니다. 그 라인을 추가 한 후, MFMailComposeViewController는 매력처럼 작동했습니다.

일반적으로 흔들기 동작을 수신하는 모든보기 제어기는 다른보기 제어기를 표시하기 전에 첫 번째 응답자를 사임해야합니다. 그렇지 않으면 해당 뷰 컨트롤러가 보이지 않아도 앱이 흔들기 동작에 계속해서 응답하므로 이상한 읽기 전용 모드로 표시되는 MFMailComposeViewController보다 더 심각한 문제가 발생할 수 있습니다.

관련 문제