关于presentViewController的后的background变黑的问题

先看一下效果图:

用如下代码,想弹出一个模态窗口,设置它的背景透明度为0.5,却发觉prsent后的背景色变为黑色的。

ShareVC *share = [[ShareVC alloc] init];
[self presentViewController:share animated:YES completion:nil];

起初还以为是设置透明度或者是[UIColor clearColor]出的问题,鼓捣几次之后发现不是这个问题。google之后,在stackOverflow上找到几个比较靠谱的答案~

Why
Does presentModalViewController:animated: Turn The Background Black?

Display
clearColor UIViewController over UIViewController

最终结论为:

NavigationController and the View Controllers are designed in such a way that only one view controller may show at a time. When a new view
controller is pushed/presented the previous view controller will be hidden by the system. So when you reduce the modal view‘s alpha you will possibly see the window‘s backgroundColor (the black color you see now).

If you want a translucent view to slide-in over the main view, you can add the view as the subView of main view and animate it using UIView Animations.

所以还是改用为UIView Animations实现:

if (!_isShareViewOpen) {

_isShareViewOpen = YES;

ShareVC *shareVC = [[ShareVC alloc] initWithNibName:@"ShareVC" bundle:nil];

shareVC.shareVC = shareVC;

shareVC.awardList = self;

[self.view addSubview:shareVC.view];

[UIView animateWithDuration:0.75f animations:^{

shareVC.view.frame = CGRectMake(0, 640, self.view.frame.size.width, self.view.frame.size.height);

shareVC.view.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);

} completion:^(BOOL finished) {

}];

}

关于presentViewController的后的background变黑的问题,布布扣,bubuko.com

时间: 2024-11-02 23:37:20

关于presentViewController的后的background变黑的问题的相关文章

Unity程序协同问题,传送时屏幕变黑变亮的解决,常规操作的行为集合

在unity中运行某段程序时往往需要运行另外一段不相干但是却对功能上有需求的程序,比如进行场景传送,在传送点处,点击I键,屏幕慢慢变黑,场景传送到另外一个场景,场景又慢慢变亮.这里首先涉及两个物体,一个是传送触发器物体,点击I键,过一段时间后进行场景传送,另外一个就是遮罩物体,这里使用UGUI中的Panel,变黑和变亮主要修改它的透明度.达成上诉效果可以使用到以下几种方式:一,将panel物体作为触发器物体的参数物体,触发其物体执行panel中的代码,或者直接对panel物体进行操作.二,消息传

插入图片后R文件变红,报错“Error::app:mergeDebugResources'. > Some file crunching failed, see logs for detail”

本想做一个有爱的小东西,插入图片后发现原本之前运行成功的程序, 出现了报错“:app:mergeDebugResources'. > Some file crunching failed, see logs for detail” 一脸懵逼~~~这是什么鬼,在别人的回答和博客里找找解决办法. 不过对我好像不管用,找了好久才发现是图片的问题. 之前只是简单的在重命名的时候把图片改成“xx.png”,放在了app/src/main/res/drawable文件夹里(ps:目前每次我都是在复制图片再粘

彩色网页变黑白色CSS代码变黑白色调!

<style> html { -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); -ms-filter: grayscale(100%); -o-filter: grayscale(100%); filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1); _filter:none; } </style> 将代码放入</head>

listview item之间分割线的设置 listview拖动变黑状态

1.取消listview每项间的分割线:(1)代码方式mListView.setDivider(null);(2)如果想扩大listview每项间的距离,并让分割线消失可以这样设置mListView.setDividerHeight(10);(3)xml方式 android:divider = "@null" android:dividerHeight="1dp" (4)将分割线设为其它颜色 android:divider = "@color/white&

小心!六大元凶让你皮肤变黑

拥有雪白的肌肤是每个女性的梦想,但看着镜子中的自己皮肤越来越暗黄,你是否已经心碎了.要想保持皮肤白皙,可要警惕使皮肤变黑的六大元凶哦. 1.紫外线 紫外线是皮肤变黑的最大元凶,这应该是毋庸置疑的,皮肤长时间暴露在紫外线下,会生成大量黑色素,日常生活中一定要做好防晒工作,给皮肤涂上防晒霜,防止黑色素的形成. 2.经常食用不当食物 包括动物肝.动物肾.牡蛎.虾.蟹.豆类.核桃.黑芝麻.葡萄干等食物,富含铜.铁.锌等金属元素,会直接或间接地增加酪氨酸.酪氨酸酶以及多巴醌等物质的数量与活性,恰巧这些物质

NGUI 实现 透明底图遮罩 &amp;&amp; 人物像素变黑

今天 UI 那边要求实现一个 透明底图遮罩 与 变黑 的效果. 刚开始考虑使用 shader 实现一个 网上搜了一下,发现了这个,但是底图需要不透明才行,不然他会把 底图的不遮罩部分的透明部分 进行颜色填充. http://www.cnblogs.com/fly-100/p/3784661.html 后来一想,貌似 ngui 有自己实现的方法.果然是强大的ngui,这点也考虑到了. Soft Clip 就可以了 至于变黑…………,我想就不用再说了吧.

请问batch_normalization做了normalization后为什么要变回来?

请问batch_normalization做了normalization后为什么要变回来? - 莫驚蟄的回答 - 知乎 https://www.zhihu.com/question/55917730/answer/154269264 原文地址:https://www.cnblogs.com/lzida9223/p/10972724.html

解决 cocos2dx iOS/mac 设置纹理寻址模式后纹理变黑的问题

sprite:getTexture():setTexParameters(gl.LINEAR,gl.LINEAR,gl.REPEAT,gl.REPEAT) 在安卓设备上,设置了纹理自定义寻址模式,纹理图片的宽高大小可以任意设置,但在ios或者mac设备上,纹理图片的大小一定要是2的n次方,不然渲染出来的 精灵就会成黑色.

word用宏命令完美解决列表编号变黑块的问题

相信很多人跟我一样,多次定义新的多级列表,会导致列表编号变成下面这样黑块 在百度搜索结果尝试了鼠标左键选中应用样式,文档关闭后打开问题依旧: 还是得感谢万能的Google,帮我找到了答案. 问题根因: The problem occurs because the font characteristics in the list template have become corrupted. 大概意思就是模板中的字体损坏了,英文不好认不全囧. 解决步骤: 1. 打开VB编辑器 没有开发工具栏的请自