在iOS上present一个半透明的viewController

今天尝试着在一个ViewController上面调用:

- (void)presentModalViewController:(UIViewController *)modalViewController animated:(BOOL)animated

来展示一个半透明的viewController:

    UIViewController *vc = [[[UIViewController alloc] init] autorelease];
    vc.view.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.5];
    [self presentModalViewController:vc animated:YES];

这样可以发现在动画过程中是半透明的,但是动画结束后就看不到下面一个viewController的内容了,变黑色了。

为什么呢?搜索了一番得到一份比较合理的结论:

The “problem” is that iOS is very finicky about not wasting memory,

and since the modal view will completely cover the one beneath it,

it doesn’t make much sense to keep it loaded.

Therefore, iOS unloads the view that presents the modal one.

You may check this behavior by implementing -viewWillDisappear: and -viewDidDisappear:.

最终在SO上找到这么个问题,以及一份可行的方案

viewController.view.backgroundColor = [UIColor clearColor];
rootViewController.modalPresentationStyle = UIModalPresentationCurrentContext;
[rootViewController presentModalViewController:viewController animated:YES];

这里有两个点:一是设置modalPresentationStyle为UIModalPresentationCurrentContext,二是需要在rootViewController上操作。

时间: 2024-09-17 03:59:28

在iOS上present一个半透明的viewController的相关文章

iOS上的一个自动化测试工具

在模拟器打开Accessibility可以观看到每个控件,即使是在网页上的. 所以是有可能做到更精准的自动化测试的.下面转了份博客,如果有兴趣可以找时间一起研究如何应用. 虽说回归测试很重要,反复执行的事可以让脚本去做. 今天找到了一个开源的工程,官网:testingwithfrank.com   Features      Easy Setup - Getting your iOS app setup for Frank should take less than 10 minutes.  

[开源]在iOS上实现Android风格的控件Toast

[开源]在iOS上实现Android风格的控件Toast    iOS的风格和Apple其他产品一样,简单而粗暴.没有给人其他选择的余地,让你又爱又恨.同样的,Apple对待iOS平台的开发人员和对待大众消费者一样,也不给你留余地.UIAlertView就是一个鲜明标志.功能简单,甚至单一,定制性差,消耗资源.在资源紧张的设备上,UIAlertView的动画效果都会稍微卡一下,很是别扭. 这时还是很希望在iOS上有一个Android风格的Toast控件. 终于http://code.google

css-如何在html图片上方叠加一个半透明颜色层,并在半透明颜色层上叠加文字

问题描述 如何在html图片上方叠加一个半透明颜色层,并在半透明颜色层上叠加文字 问题是这样的:在用html写网页,现在有一张图片,需要置于最底层,然后在图片上方叠加一个半透明颜色层,并在半透明颜色层上叠加文字. 效果就像这张图片一样: 我写的代码如下: li div class="img-wrapper" img src="0.jpg" alt="" width="110" height="110" bo

请教一个iOS的问题,UITableView的Cell上有一个收藏按钮,点击按钮实现收藏。

问题描述 请教一个iOS的问题,UITableView的Cell上有一个收藏按钮,点击按钮实现收藏. 请教一个iOS的问题,UITableView的Cell上有一个收藏按钮,点击按钮实现收藏. 我的问题是:点完按钮后如何(何时)刷新这个界面,让当前cell的收藏按钮变为已收藏状态? 我的需求是只要服务器返回收藏成功就马上变为已收藏.但是直接在收藏成功后改变当前按钮状态会出现复用问题,而重新请求界面数据又要涉及当前加载的数据总个数等问题. 请问大家有什么建议吗,类似这种需求一般是如何处理的? 解决

ios开发-iOS开发时,如何在图片上旋转一个角度绘制文字,例如在点(50,80)处,旋转50°画文字

问题描述 iOS开发时,如何在图片上旋转一个角度绘制文字,例如在点(50,80)处,旋转50°画文字 要求不用到 label 现在需要在apple mapkit 中自定义的annotation图片上绘制编号,此图片是个箭头, 可旋转方向.为了让箭头旋转时其上的文字始终竖直.现需要在image上画出旋转一定角度的文字,或者用上下文画一个旋转一定角度的图片也可以,求大神指点 解决方案 NSMutableParagraphStyle *paragraphStyle = [[NSParagraphSty

iOS 上常用的两个功能:点击屏幕和return退出隐藏键盘和解决虚拟键盘挡住UITextField的方法

转自:http://blog.csdn.net/xiaotanyu13/article/details/7711954 iOS上面对键盘的处理很不人性化,所以这些功能都需要自己来实现, 首先是点击return和屏幕隐藏键盘 这个首先引用双子座的博客 http://my.oschina.net/plumsoft/blog/42545,他的文章写的很好,对大家的理解很有好处. 在 iOS 程序中当想要在文本框中输入数据,轻触文本框会打开键盘.对于 iPad 程序,其键盘有一个按钮可以用来关闭键盘,但

iOS开发封装一个可以响应超链接的label——基于RCLabel的交互扩展

iOS开发封装一个可以响应超链接的label--基于RCLabel的交互扩展 一.引言         iOS系统是一个十分注重用户体验的系统,在iOS系统中,用户交互的方案也十分多,然而要在label中的某部分字体中添加交互行为确实不容易的,如果使用其他类似Button的控件来模拟,文字的排版又将是一个解决十分困难的问题.这个问题的由来是项目中的一个界面中有一些广告位标签,而这些广告位的标签却是嵌在文本中的,当用户点击文字标签的位置时,会跳转到响应的广告页.         CoreText框

细数iOS上的那些安全防护

细数iOS上的那些安全防护 作者:龙磊.黑雪.蒸米@阿里巴巴移动安全 0x00 序 随着苹果对iOS系统多年的研发,iOS上的安全防护机制也是越来越多,越来越复杂.这对于刚接触iOS安全的研究人员来说非常不友好,往往不知从何入手.因此,为了让大家能够更加系统性的了解iOS上的安全机制,我们从三个方面着眼:代码签名(CodeSign).沙盒机制(SandBox) 和利用缓解(Exploit Mitigation),对iOS的系统安全机制做了一个总结.希望能够给大家的学习以及研究带来一定的帮助.注意

教你在iOS上绘制自然的签名

这里有一篇很棒的文章写如何在Android上获取流畅的签名:Smoother Signatures,但是我没有找到一篇是写在iOS上如何实现.那么,究竟怎么做才能在iOS设备上获取用户的签名呢? 虽然我没有找到任何关于获取签名的文章,但是在App store上已经有了实现得很好的app. Paper by 53 是一个画画的iPad应用程序,它拥有漂亮并且灵敏的画笔,这也是我所要追求的用户体验. 代码可以从这里得到:SignatureDemo 连点成线 最简单得办法是,依次获取触摸点并且用直线把