You\'ve likely seen this before, its become exceedingly popular in consumery chic apps like ScoutMob. I\'m trying to implement a 60% transparent view on launch that will cover m
This can be easily accomplished with a UITextView and a UIButton. Simply place the UITextView on the screen with the content you want to display, making it the full frame size of the screen, and change the background color to a black background with background alpha of .6
[UIColor colorWithRed: 0 withGreen: 0 withBlue: 0 withAlpha: .6];
Then place the button as a subview on top, making it the full frame of the screen, and setting it's alpha to 0. Set the action of the button to hide the textview and button.
Example:
UITextView* textview = [[UITextView alloc] initWithFrame:self.view.frame];
[textview setText: @"Text here"];
[textview setBackgroundColor: [UIColor colorWithRed: 0 withGreen: 0 withBlue: 0 withAlpha: .6]];
[textview setTextColor: [UIColor whiteColor]];
[self.view addSubview: textview];
UIButton* btn = [[UIButton alloc] initWithFrame:self.view.frame];
[btn setAlpha:0];
[btn addTarget:self action:@selector(method) forEvent:UIControlEventTouchUpInside];
[self.view addSubview: btn];
You may want to check the addTarget: method; I'm not sure those are the correct parameters off the top of my head.
// get your window screen size
CGRect screenRect = [[UIScreen mainScreen] bounds];
//create a new view with the same size
UIView* coverView = [[UIView alloc] initWithFrame:screenRect];
// change the background color to black and the opacity to 0.6
coverView.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.6];
// add this new view to your main view
[self.view addSubview:coverView];
when you are done with it , you can remove it :
[coverView removeFromSuperview];
Swift3 version:
// get your window screen size
let screenRect = UIScreen.main.bounds
//create a new view with the same size
let coverView = UIView(frame: screenRect)
// change the background color to black and the opacity to 0.6
coverView.backgroundColor = UIColor.black.withAlphaComponent(0.6)
// add this new view to your main view
self.view.addSubview(coverView)
to remove it:
coverView.removeFromSuperview()
Swift 4 update
view.isOpaque = false
view.backgroundColor = UIColor.black.withAlphaComponent(0.2)
This option available in storyboard . Make sure to uncheck the Opaque option
Just make a mechanism that figures out if it is the first launch of the app, then tells your main view controller to add a (probably image) view on top of the current view with 0.6 alpha
if (figureOutIfIsFirstLaunch)
{
UIImageView *myOverlay = [...];
myOverlay.frame = self.view.bounds;
myOverlay.alpha = 0.6;
[self.view addSubview:myOverlay];
}
UIView
, name it what you want (dimBackgroundUIView
) then set
the backgroundcolor as Black and set alpha to 0.1 or 0.2 or....[self.view addSubview:dimBackgroundUIView]; [self
addConstraintsForDimView];
if(dimBackgroundUIView) [dimBackgroundUIView
removeFromSuperview];
dimBackgroundUIView
.check this: iOS Dim background when a view is shown
and do not forget to read the note below the code to understand what you have to do.