iphone - MFMessageComposeViewController 关闭键盘

标签 iphone ios ios4 ios5

我的 MFMessageComposeViewController 遇到问题。我想在应用程序内使用短信。 发送短信一切正常,到目前为止一切顺利。但是,当我点击取消按钮(或发送按钮)时,我的 View 顶部消失了,但键盘没有消失。这可能是因为我不使用模态视图,而只使用 addSubview。

-(void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
{

    if (result == MessageComposeResultCancelled)
    {
        NSLog(@"Message annulé");
        [controller resignFirstResponder];
        [controller.view removeFromSuperview];  
        [controller release]; 
     }
    else if (result == MessageComposeResultSent)
    {
        NSLog(@"Message envoyé");
        ...
    }
    else 
    {
        NSLog(@"Message non envoyé");
        ...
    }
}

-(void)sendSMS:(NSString *)bodyOfMessage :(Phone *)recipient
{
    MFMessageComposeViewController *controller = [[MFMessageComposeViewController alloc] init];

    if([MFMessageComposeViewController canSendText])
    {
        MFMessageComposeViewController *picker = [[MFMessageComposeViewController alloc] init];
        picker.messageComposeDelegate = self;

        NSMutableArray *toRecipients = [[NSMutableArray alloc]init];
        [toRecipients addObject:recipients.phoneNumber];
        [picker setRecipients:(NSArray *)toRecipients];
        [toRecipients release];

        NSString *bodyString = nil;
        bodyString = bodyOfMessage;
        [picker setBody:bodyString];

        [self addSubView:picker.view];
        [picker release];
     }  
}

有什么想法吗?我只能使用 modalView 吗?

抱歉拼写错误...

谢谢。汤米

最佳答案

是的,你必须使用modalviewcontroller。

[self presentModalViewController:picker];

此外,您还创建了 MFMessageComposeViewController 的两个实例,第一个用于检查它是否可以发送文本,然后另一个用于实际显示它。我建议只创建一个,这对内存更好:)而且第一个正在泄漏,因为您没有释放它。祝你好运!

关于iphone - MFMessageComposeViewController 关闭键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9225894/

相关文章:

ios4 - CGContext & CGBitmapContextCreateImage 错误,如何解决?

ios - 标识符为 'com.example.app.extention' 的 App ID 不可用。请输入不同的字符串

iPhone 转义字符串不起作用

iphone - 用于在 iOS 应用程序中显示 native 计算器的 api

iphone - 为什么当 UIImageView 放置在 UIScrollView 中时,touchesBegan 停止工作?

ios - 嵌套函数上的两个循环导致索引超出范围

iOS i18n 默认后备语言

javascript - 带有 event.preventDefault 的 HTML

ios - XCode 只显示信息和build设置而不显示其余部分?

iphone - dequeueReusableCellWithIdentifier 不适用于 ARC 和 IOS 4