[英]MFMessageComposeViewController having the message body repeated twice
當使用以下代碼通過MFMessageComposeViewController設置應用內SMS消息時:
if([MFMessageComposeViewController canSendText])
{
// Add Cocos view & stop anims
[[[CCDirector sharedDirector] view] addSubview:self.view];
[[CCDirector sharedDirector] pause];
[[CCDirector sharedDirector] stopAnimation];
MFMessageComposeViewController *controller = [[MFMessageComposeViewController alloc] init];
controller.body = @"TEST";
controller.recipients = nil;
controller.messageComposeDelegate = self;
// Cocos window view present
[[[[CCDirector sharedDirector] view] window] addSubview:controller.view];
[[CCDirector sharedDirector] presentViewController:controller animated:YES completion:^{NSLog(@"test open");}];
}
該視圖正確顯示,但是消息正文文本出現了兩次。 在可編輯的文本字段中,它具有“ TEST”(測試),然后在下一行再次具有另一個“ TEST”。
我嘗試添加標題並使用各種不同的消息,但始終使消息正文出現兩次。 我還檢查了該代碼是否僅被調用了一次以上,但不是。
有任何想法嗎?
(Xcode 5.0.1,iPhoneOS 7.0 SDK,在iPhone 5上進行測試)
對於其他遇到這種情況的人,我發現在設置正文之前,將控制器視圖添加到窗口中可以解決此問題。
像這樣:
if([MFMessageComposeViewController canSendText])
{
[[CCDirector sharedDirector] pause];
[[CCDirector sharedDirector] stopAnimation];
MFMessageComposeViewController *controller = [[MFMessageComposeViewController alloc] init];
// ** Add the view BEFORE setting the body text... **
[[[[CCDirector sharedDirector] view] window] addSubview:controller.view];
[controller setRecipients:nil];
controller.messageComposeDelegate = self;
[controller setBody:message];
[[CCDirector sharedDirector] presentModalViewController:controller animated:YES ];
}
使用此代碼,正文文本不會在SMS中重復。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.