MFMessageComposeViewController显示没有取消按钮和标题

时间:2015-08-05 03:33:27

标签: ios mfmessagecomposeview cancel-button

我的应用程序具有允许用户向尚未注册我们的应用程序以邀请他们的联系人发送短信的功能。我几周前将它实现如下,效果很好:

if ([MFMessageComposeViewController canSendText]) {
    MFMessageComposeViewController *controller = [MFMessageComposeViewController new];
    NSDictionary *contact = self.notRegisterdUser[index]; // got from reading user's contacts if allowed
    controller.recipients = @[contact.allKeys[0]];
    controller.body = @"some message";
    controller.messageComposeDelegate = self;

    [self presentViewController:controller animated:YES completion:nil];
}

但昨天我发现该功能已被破坏,因为它没有显示这样的取消按钮:

MFMessageComposeViewController issue

我已经在iOS 8.1,8.2,8.3和8.4上测试了它,它适用于所有人。是否有变化或我做错了?

1 个答案:

答案 0 :(得分:2)

您是否正在使用forkingdog中的FDFullscreenPopGesture?如果是这样那么这就是问题所在。 FDFullscreenPopGesture类别以某种方式与pop-uped sms视图发生冲突。有一个issue在谈论这个问题。

问题中提供了解决方案,我已经检查过:

  

使用MFMessageComposeViewController时应禁用它。请注意,将fd_viewControllerBasedNavigationBarAppearanceEnabled设置为NO不起作用。临时解决方案可能是:

(void)fd_pushViewController:(UIViewController *)viewController animated:(BOOL)animated { 
    //Add this: 
    if ([self isKindOfClass:[MFMessageComposeViewController class]]) { 
        [self fd_pushViewController:viewController animated:animated];
        return; 
    } 
    ...... 
}

这可能是一个迟到的答案,但希望它适用于其他人。

相关问题