iOS View如何实现背景黑透

来源:互联网 发布:新手淘宝店课程免费 编辑:程序博客网 时间:2024/04/29 18:06

通常我们总会遇到需要将当前View的背景设置为黑透效果,有两种方法实现,先讲第一种方法,当前的viewController上直接添加一层view作为背景

  • 效果图

这里写图片描述

我们具体看下代码的实现:

ViewController.m

////  ViewController.m//  blog01_View黑透效果////  Created by yanll on 15/11/5.//  Copyright © 2015年 yanll. All rights reserved.//#import "ViewController.h"@interface ViewController ()@property (nonatomic,strong) UIView *fullScreenView; //整个屏幕宽高的View@property (nonatomic,strong) UIView *alertView;//最上层显示的View@end@implementation ViewController- (void)viewDidLoad {    [super viewDidLoad];    //这里一定要先加载背景再加载需要显示的View,或者将view加载到fullScreenView的子视图上    [self.view addSubview:self.fullScreenView];    [self.view addSubview:self.alertView];//    [self.fullScreenView addSubview:self.alertView];}- (void)didReceiveMemoryWarning {    [super didReceiveMemoryWarning];}#pragma mark - getter 通过懒加载的方式初始化- (UIView *)fullScreenView {    if (!_fullScreenView) {        _fullScreenView = [[UIView alloc] initWithFrame:self.view.frame];        _fullScreenView.backgroundColor = [UIColor colorWithWhite:0 alpha:0.47];//设置view的背景色和透明度,调节alpha可以调节背景黑的程度    }    return _fullScreenView;}- (UIView *)alertView {    if (!_alertView) {        _alertView = [[UIView alloc] init];        //设置alertView的尺寸大小        _alertView.bounds = CGRectMake(0, 0, 200, 200);        //设置alertView的中心点位于屏幕中心点        _alertView.center = self.view.center;        _alertView.backgroundColor = [UIColor redColor];    }    return _alertView;}@end

上面的alertView可以换成各种控件,根据你的项目情况来定,比如点击后出现搜索框并将屏幕设置为黑透,还可以自定义弹出框,不使用系统提供的UIAlertController,此界面只是在当前的viewController上添加的view,如果你需要跳转界面(viewController)的背景也设置为黑透,请看下一篇文章

0 0
原创粉丝点击