最近折腾ios的一个邮件分享和SMS短信分享功能,本来是很简单的的功能,但是我发现打开的邮件界面和短信界面一直不响应navigationController上面的按钮,感觉很奇怪的,最后发现,需要在打开的这些界面的委托实现方法中,把打开的视图关闭,说的有点别扭吧! 我发一段代码出来,大家可能会明白的!

注意:如果想调用发送短信和邮件的功能,必须要引入一个库:MessageUI.framework

还需要import一些类:

#import <MessageUI/MessageUI.h>
#import <MessageUI/MFMailComposeViewController.h>

如下代码是ios发送短信的代码:

-(void)sendSMSComposerSheet
{MFMessageComposeViewController *messageCtrl = [[MFMessageComposeViewController alloc] init];messageCtrl.messageComposeDelegate = self;messageCtrl.body = @"share ....";[self presentModalViewController:messageCtrl animated:YES];
}

这段代码实现的委托就:MFMessageComposeViewControllerDelegate

可是我的代码中也实现了委托,代码如下:

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

但是打开短信界面是没问题的,关键是点击短信界面的取消按钮没有相应,最后我想了一下,估计要在委托的实现方法中关闭打开的视图,结果的确如此!
以上代码修改为:

- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
{[controller dismissModalViewControllerAnimated:YES];
}

或者:

- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
{[controller dismissViewControllerAnimated:YES completion:^{}];
}

两种方式都可以的,这样就能解决ios使用presentModalViewController打开viewController,相应viewcongroller上面的相关按钮了!

同时在附加上 ios发送邮件的代码:

-(void)sendMailComposerSheet
{MFMailComposeViewController *mailCtrl = [[MFMailComposeViewController alloc] init];mailCtrl.mailComposeDelegate = self;[mailCtrl setSubject:@"邮件标题"];[mailCtrl setMessageBody:@"邮件内容" isHTML:NO];[self presentModalViewController:mailCtrl animated:YES];
}

相关的委托:MFMailComposeViewControllerDelegate

界面的处理

-(void) mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
{[controller dismissModalViewControllerAnimated:YES];
}

转载于:https://www.cnblogs.com/springskyhome/archive/2013/05/29/3689916.html

ios不响应presentModalViewController界面的处理相关推荐

  1. 界面代码ios不响应presentModalViewController界面的处理

    首先声明,我是一个菜鸟.一下文章中出现技术误导情况盖不负责 近来折腾ios的一个邮件分享和SMS短信分享功能,本来是很简单的的功能,但是我发明打开的邮件界面和短信界面一直不响应navigationCo ...

  2. HTML5响应式苹果IOS风格后台办公界面模板

    简介: 一套苹果IOS风格后台办公界面模板分享给大家,HTML5响应式布局,自适应多终端分辨率. 全套36个页面,包含所有所需模板界面,包含登录.表格.表单.提示界面.上传下载等等. 如果打开页面较慢 ...

  3. iOS人机界面指南(界面设计基础部分)ISUX原创翻译

    http://isux.tencent.com/ios-human-interface-guidelines-ui-design-basics-ios7.html iOS人机界面指南(界面设计基础部分 ...

  4. Xamarin iOS教程之编辑界面编写代码

    Xamarin iOS教程之编辑界面编写代码 Xamarin iOS的Interface Builder Interface Builder被称为编辑界面.它是一个虚拟的图形化设计工具,用来为iOS应 ...

  5. iOS 快速实现分页界面的搭建

    级别: ★★☆☆☆ 标签:「iOS」「分页」「QiPageMenuView」 作者: 沐灵洛 审校: QiShare团队 iOS 快速实现分页界面的搭建 项目中我们经常会遇到滚动分页的设计效果,被用来 ...

  6. 直播间搭建实现iOS直播聊天消息界面

    直播间搭建实现iOS直播聊天消息界面 近几年直播一火再火,现在的直播已经不再是主播们唱唱歌了,连老罗都已经开始直播带货,一再刷新抖音直播在线人数了. 但今天我们不是来说怎么做直播的,是来看看直播场景里 ...

  7. 30个真棒的(免费iPhone,iPad IOS)的GUI 界面设计元素模板 做iphone开发的福音

    30个真棒的(免费iPhone,iPad IOS)的GUI 界面设计元素模板 做iphone开发的福音 转自:http://www.cnblogs.com/web8cn/archive/2012/07 ...

  8. android 密码解锁程序,android 仿ios数字密码解锁界面的实例

    如下所示: 每个Android开发人员都知道,现在android的解锁最常用的就是九宫格解锁,ios的解锁常用的是数字密码解锁.而我们在开发工程中,很多时候,都需要android和ios进行结合.有的 ...

  9. 最新基于ThinkPHP5.0+BootStrap框架开发的自适应WAP手机端响应式界面博客系统PHP源码

    <h2>源码介绍</h2> 分享一款基于ThinkPHP5.0框架开发的自适应WAP手机端响应式界面博客系统PHP源码,前端界面采用BootStrap框架设计,使得博客系统界面 ...

最新文章

  1. 在windows程序中嵌入Lua脚本引擎--建立一个简易的“云命令”执行的系统
  2. 经济参考报:想哭病毒为中国网络安全敲警钟
  3. Java 程序员一次有趣的面试 | 每日趣闻
  4. linux 配置 java 环境变量
  5. Python中单个下划线“ _”变量的用途是什么?
  6. 019_MySQL正则表达式
  7. Dojo 之 面向对象
  8. 【无码专区12】子集和(背包dp)
  9. 程序员会写诗是怎样的体验
  10. LeetCode 9. Palindrome Number
  11. OpenJudge数据结构与算法-计算点的距离并排序
  12. Amazon验证码机器算法识别
  13. Excel中 使用链接 批量导入图片
  14. 学习Flask-SQLAlchmy管理数据库知识记录点
  15. 关于Linux系统之VM安装配置(每一个步骤都超级详细的哦!)
  16. 林文信12小时学会流行键盘基础教程-爱奇艺链接地址
  17. 「镁客·请讲」小不点刘筱璇:新制造时代,用3D打印让世界个性起来
  18. 华为云Stack在政务云市场,稳!
  19. 从零到壹搭建一个商城架构--性能指标
  20. 摊上事儿的网易邮箱和安全圈的那些“防御机制”

热门文章

  1. JZOJ 5459. 【NOIP2017提高A组冲刺11.7】密室
  2. [BZOJ1087][SCOI2005]互不侵犯King
  3. java字数统计,求大神教我,java语言里的字数统计功能的代码?
  4. 图片不能置于底层怎么办_PPT中常遇到的图片问题和解决方案
  5. java 对象创建过程_5种创建Java对象的方式
  6. 2017年9月9日普级组 优美三角剖分
  7. java js 正则区别_对比正则表达式在JavaScript与Java中的区别
  8. oracle 跨服务器推送视图_oracle跨数据库视图
  9. 前端中全部盒子靠左对齐_前端面试一百问之弹性盒子中 flex: 0 1 auto 表示什么意思...
  10. python大数字计算时没有响应_linux-为什么在尝试计算非常大的数字时Python会“抢先”挂起?...