UIActivityViewController에서 메일 제목을 설정하는 방법은 무엇입니까?
이메일 공유 제목을 설정 UIActivityViewController
하고 Twitter에서도 공유하고 싶습니다. 공유하려면 Twitter에서 알고 있습니다. 텍스트를 140 자로 압축해야합니다. 많은 SO 솔루션을 확인했지만 아무것도 작동하지 않습니다.
이 문제가 최신 iOS 릴리스에서 해결 되었습니까? 다른 "작동하는 솔루션"이 있습니까?
emreoktem의 솔루션 (에 보내기) setValue:forKey:
은 UIActivityViewController
문서화되지 않은 것 같습니다 .
iOS 7 이상 activityViewController:subjectForActivityType:
에서는 UIActivityItemSource
프로토콜을 준수하는 객체 에서 메서드를 구현하여 문서화 된 방식으로이를 수행 할 수 있습니다.
이메일 제목 설정을위한 이메일 코드를 아래에서 확인하세요.
UIActivityViewController* avc = [[UIActivityViewController alloc] initWithActivityItems:@[@"Your String to share"]
applicationActivities:nil];
[avc setValue:@"Your email Subject" forKey:@"subject"];
avc.completionHandler = ^(NSString *activityType, BOOL completed) {
// ...
};
여기 라인
[avc setValue : @ "귀하의 이메일 제목"forKey : @ "subject"];
사용자가 UIActivityViewController에서 이메일 옵션을 선택하면 제목을 "Your email Subject"로 만듭니다.
도움이 되었으면합니다 ...
Swift 2.0 이상 및 iOS 8.0 이상
let title = "Title of the post"
let content = "Content of the post"
let objectsToShare = [title, content]
let activityVC = UIActivityViewController(activityItems: objectsToShare, applicationActivities: nil)
activityVC.setValue(title, forKey: "Subject")
self.presentViewController(activityVC, animated: true, completion: nil)
다음 은 수락 된 답변을 기반으로 한 Swift 3.0+에 대한 구체적인 솔루션입니다 . 허용되는 답변과 마찬가지로 이것은 iOS 메일 앱에서만 작동하며 반드시 다른 앱에서는 작동하지 않는 것으로 알려져 있습니다.
이행:
class MessageWithSubject: NSObject, UIActivityItemSource {
let subject:String
let message:String
init(subject: String, message: String) {
self.subject = subject
self.message = message
super.init()
}
func activityViewControllerPlaceholderItem(_ activityViewController: UIActivityViewController) -> Any {
return message
}
func activityViewController(_ activityViewController: UIActivityViewController, itemForActivityType activityType: UIActivityType) -> Any? {
return message
}
func activityViewController(_ activityViewController: UIActivityViewController,
subjectForActivityType activityType: UIActivityType?) -> String {
return subject
}
}
용법:
다음은 사용 예입니다. 이 항목을 activityItems 배열의 첫 번째 항목으로 사용하고 따라야 할 추가 항목을 포함하는 것이 좋습니다.
let message = MessageWithSubject(subject: "Here is the subject", message: "An introductory message")
let itemsToShare:[Any] = [ message, image, url, etc ]
let controller = UIActivityViewController(activityItems: itemsToShare, applicationActivities: nil)
참고 URL : https://stackoverflow.com/questions/17020288/how-to-set-a-mail-subject-in-uiactivityviewcontroller
'program story' 카테고리의 다른 글
AngularJS에서 루트 스코프에 브로드 캐스트 이벤트를 등록 해제하려면 어떻게해야합니까? (0) | 2020.11.19 |
---|---|
IE6 + IE7 CSS 문제 오버플로 : 숨김; (0) | 2020.11.19 |
iOS UILabel에 왼쪽 패딩 추가 (0) | 2020.11.19 |
둘 이상의 EditText에 대한 TextWatcher (0) | 2020.11.19 |
두지도 병합 (0) | 2020.11.19 |