Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使UIViewController视图中的所有内容变暗(少数UIImageView除外)_Ios_Objective C_Xcode_Uiviewcontroller_Uiimageview - Fatal编程技术网

Ios 使UIViewController视图中的所有内容变暗(少数UIImageView除外)

Ios 使UIViewController视图中的所有内容变暗(少数UIImageView除外),ios,objective-c,xcode,uiviewcontroller,uiimageview,Ios,Objective C,Xcode,Uiviewcontroller,Uiimageview,我在iOS 6上工作。有没有一种简单的变暗方法,即为UIViewController屏幕上的所有内容添加较暗的色调,除了少数选定的UIImageView 例如,目标是使非暗图像突出。用户清楚地知道这些是要点击的唯一有效或可选择的UIImageView,当用户点击有效的UIImageView时,屏幕将恢复正常 澄清一下,我不想让其他的东西消失,只想把它变暗,就像增加一个透明的0.5 alpha层 我看了这里:它似乎非常相关,除了我不是在处理单个UIImageView,而是一个将UIImageVie

我在iOS 6上工作。有没有一种简单的变暗方法,即为UIViewController屏幕上的所有内容添加较暗的色调,除了少数选定的UIImageView

例如,目标是使非暗图像突出。用户清楚地知道这些是要点击的唯一有效或可选择的UIImageView,当用户点击有效的UIImageView时,屏幕将恢复正常

澄清一下,我不想让其他的东西消失,只想把它变暗,就像增加一个透明的0.5 alpha层

我看了这里:它似乎非常相关,除了我不是在处理单个UIImageView,而是一个将UIImageView作为子视图的UIViewController。即使我在superview中的每个子视图上运行屏蔽代码,我想它仍然不能覆盖整个屏幕

谢谢你的帮助

UIView *blackView = [[UIView alloc] initWithFrame:someFrame];
blackView.backgroundColor = [UIColor blackColor];
blackView.alpha = 0.5;
[self.view addSubview:blackView];
for (UIImageView *imageViewToShow in self.view.subviews) {
    [self.view bringSubviewToFront:imageViewToShow];
}

如果这引起问题,您可以考虑重新设计代码,以将图像保持在容器视图中。然后您可以简单地使用[self.view insertSubview:blackView belowSubview:containerView];相反然后,您可以随时操纵blackView的alpha和隐藏方面。见鬼,如果您的设计允许,您可以在创建任何图像之前添加blackView,同时省略容器视图的meed…

您可以使用:

[UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.5]; 
// This is a transparent black color. 

简单实用的解决方案是在图像和图像后面的视图之间放置一个不透明度为0.5的黑色视图。这太完美了!但是因为我要突出显示的图像会随着实例的不同而变化,所以我需要更改前面的图像。做这件事的简单方法是什么?谢谢那么,对于在屏幕上的所有内容上添加0.5不透明度视图,并在UIImageView和UIButtons上使用bringSubviewToFront:我想突出显示,您认为如何?这将有效地防止接触其他东西,对吗?听起来是个正确的想法。如果你想强调的图像或按钮没有覆盖可触摸的项目,你可能需要让黑色视图吞下它接收到的任何触摸。nickfalk:如果你把它贴在下面,我会接受你的答案。我还需要解决的唯一一个问题是,确保所有的视频都能被带到前台:电话不会让我的场景乱七八糟。