iOS开发中有时候会将UIViewController或者UIView的subViews设置为透明,然后在底部设置背景图片,我们常用加载图片有UIImage的imageName和imageWithContentsOfFile两个方法:
[UIImage imageNamed:@"FlyElephant"]`
[UIImage imageWithContentsOfFile:@"FlyElephant"]
前者会对图片进行缓存,第二种方法不会,如果图片使用多次建议使用第一种方法,如果只使用一次建议使用第二种方式,设置UIView的背景图片同样有两种方式:
1.设置UIImageView:
UIImageView *imageView=[[UIImageView alloc]initWithFrame:self.view.bounds];
imageView.image=[UIImage imageNamed:@"FlyElephant"];
[self.view insertSubview:imageView atIndex:0];
2.设置layer的content:
UIImage *backGroundImage=[UIImage imageNamed:@"FlyElephant"];
self.view.contentMode=UIViewContentModeScaleAspectFill;
self.view.layer.contents=(__bridge id _Nullable)(backGroundImage.CGImage);
有的时候可能需要一些毛玻璃效果,iOS8提供了UIVisualEffectView可以轻松实现毛玻璃效果:
UIVisualEffectView *visualEfView = [[UIVisualEffectView alloc] initWithEffect:[UIBlurEffect effectWithStyle:UIBlurEffectStyleLight]];
visualEfView.frame =self.view.bounds;
[imageView addSubview:visualEfView];