美文网首页iOS
iOS使用MFMessageComposeViewControl

iOS使用MFMessageComposeViewControl

作者: 码农老王 | 来源:发表于2016-10-14 09:46 被阅读515次

如果你使用了UINavigationController+FDFullscreenPopGesture, 没有额外的设置, 并且使用了 MFMessageComposeViewController在APP内使用短信功能.
那么将会出现以下这个情况.


导航栏位置被遮挡

原因是fd使用runtime在每个显示的viewcontroller都默认加了一个bar.

解决方案:

在UINavigationController+FDFullscreenPopGesture.m文件里找到

  • (void)fd_setupViewControllerBasedNavigationBarAppearanceIfNeeded:(UIViewController *)appearingViewController

添加以下代码

#import <objc/runtime.h>

NSString *className = [NSString stringWithUTF8String:class_getName([appearingViewController class])];
if ([className isEqualToString:@"CKSMSComposeController"]) {
    return;
}

即可解决.

同时还有一个fd_viewControllerBasedNavigationBarAppearanceEnabled属性, 但是设置后无效, 按道理这个属性应该是解决这个问题的,不知什么原因不起作用, 待我以后再翻一翻FD的源码看看到底什么原因.

相关文章

网友评论

  • Liberalism:很感谢,解决了我当下遇到的问题

本文标题:iOS使用MFMessageComposeViewControl

本文链接:https://www.haomeiwen.com/subject/ipygyttx.html