Ios Xcode:如何在视图顶部添加黑色层?
我正在尝试创建我的第一个iphone应用程序,我的视图应该是漆黑一片。我的视图已正确连接到控制器(当我运行模拟器时,我的标签会显示) 我想添加一个黑色层(这样屏幕看起来像是iphone关闭了)。不仅如此,当用户按下屏幕或与屏幕交互时,它应该只在黑色层上触发这些动作。我会在那层下面有一些东西,比如标签 当我在控制器中将亮度设置为0.0并运行模拟器时,它仍然显示视图:Ios Xcode:如何在视图顶部添加黑色层?,ios,objective-c,Ios,Objective C,我正在尝试创建我的第一个iphone应用程序,我的视图应该是漆黑一片。我的视图已正确连接到控制器(当我运行模拟器时,我的标签会显示) 我想添加一个黑色层(这样屏幕看起来像是iphone关闭了)。不仅如此,当用户按下屏幕或与屏幕交互时,它应该只在黑色层上触发这些动作。我会在那层下面有一些东西,比如标签 当我在控制器中将亮度设置为0.0并运行模拟器时,它仍然显示视图: - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundl
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
[[UIScreen mainScreen] setBrightness: 0.0]; //<-- here
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
[[UIScreen mainScreen] setBrightness: 0.0]; //<-- here as well. but nothing happens
self.navigationItem.hidesBackButton = YES;
// Do any additional setup after loading the view.
}
-(id)initWithNibName:(NSString*)nibNameOrNil bundle:(NSBundle*)nibBundleOrNil
{
self=[super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
如果(自我){
[[UIScreen Main Screen]setBrightness:0.0];/您必须将setBrightness
语句放在-(void)application idbecomeactive:(UIApplication*)application
中——它对其他任何地方都没有影响。要在应用程序之后进行清理,您应该恢复-(void)application willresignactive:(UIApplication*)中的亮度应用程序
您可以在当前视图的顶部添加一个完全黑色的ui视图
UIView *blackView = [[UIView alloc] initWithFrame:[UIScreen mainScreen].bounds];
blackView.backgroundColor = [UIColor blackColor];
[viewIWantToObscure addSubview:blackView];
这将呈现要隐藏的视图(viewIWantToObscure
)完全变黑。至于您要求的第二部分,即通过视图进行触摸,有关发送触摸视图层次结构的更多信息。只需添加一个子视图,该子视图的黑色背景颜色与视图控制器的边框相同,并添加仅由该视图识别的手势识别器。否te:如果您在视图控制器的视图中添加了任何手势识别器,那么这些手势识别器也将在黑色视图中拾取。