2011-09-13 5 views
1

MFMailComposeViewController이 변경된 것을 알고 있지만 위험을 감수하고 있습니다. 는 좀 그런MFMailComposeViewController의 제목 변경

[self presentModalViewController:controller animated:YES]; // Existing line 
[[[[controller viewControllers] lastObject] navigationItem] setTitle:@"SomethingElse"]; 

[[[[(MFMailComposeViewController*)vc navigationBar] items] objectAtIndex:0] setTitle:@" SomethingElse"]; 

로 생각하지만 이상한 것은 제목이 "SOMETHINGELSE는"이초 등에이라는 것이다을 발견하고이 설정되어있는 주제에 반환 후. 다른 솔루션도 시도했지만 동일한 결과를 보였습니다.

나는 SHK (ShareKit)를 사용하여 소셜에 연결합니다.

if ([vc respondsToSelector:@selector(modalPresentationStyle)]) 
     vc.modalPresentationStyle = [SHK modalPresentationStyle]; 

    if ([vc respondsToSelector:@selector(modalTransitionStyle)]) 
     vc.modalTransitionStyle = [SHK modalTransitionStyle]; 

[topViewController presentModalViewController:vc animated:YES]; 

[[[[(MFMailComposeViewController*)vc navigationBar] items] objectAtIndex:0] setTitle:@" "]; 



[(UINavigationController *)vc navigationBar].barStyle = 
    [(UINavigationController *)vc toolbar].barStyle = [SHK barStyle]; 



    self.currentView = vc; 
+0

확인 SO 답장을 http://stackoverflow.com/questions/1737848/change-title-of-mfmailcomposeviewcontroller – Jhaliya

답변

6

나는이 iOS4와 함께 보호의 일종이라고 생각 : 여기 showViewController의 코드입니다.

Apple에서 제공하는 인터페이스를 변경해서는 안됩니다.

http://developer.apple.com/library/ios/#documentation/MessageUI/Reference/MFMailComposeViewController_class/Reference/Reference.html

중요 : 메일 작성 인터페이스 자체는 사용자 정의하지 않고 응용 프로그램에 의해 수정 될 수 없습니다. 또한 인터페이스를 제공 한 후에는 애플리케이션에서 이메일 내용을 더 이상 변경할 수 없습니다. 사용자는 여전히 인터페이스를 사용하여 콘텐츠를 편집 할 수 있지만 프로그래밍 방식의 변경은 무시됩니다. 따라서 인터페이스를 표시하기 전에 내용 필드의 값을 설정해야합니다.

나는이 때문에 일부 사람들이 거부당하는 것을 알고있었습니다. 나는 이것에 관해 당신에게 경고하고 싶었다.

+0

덕분에 게시 .. 난 아무것도 :) – Alex

+0

의 수정되지 함께거야 스틱을 것 같아 왜 내가 애플을 싫어 하느냐. 그들이 우리에게 인터페이스를 사용자 정의 할 수 없으면 적어도 좋아 보이는 것을 제공해야합니다. 지금 내 제목은 "clie의 검색어 ..."와 같이 보입니다. 그런 추악한 제목 : - @ –

3

메일 제목을 설정하기 만하면됩니다. 의미는 [MFMailComposeViewController setsubject:@"yourTitle"]입니다. 그런 다음 이것은 titile로 표시됩니다. 그러나 MFMailComposeViewController 제목에 아무것도 쓰지 않으면 기본적으로 "New Message"를 표시 할 수 있습니다.

관련 문제