iOS系统SDK实现毛玻璃效果(swift版 iOS8.0及其以上)
2015-08-28 16:56
573 查看
iOS系统SDK实现毛玻璃效果(swift版)系统的毛玻璃效果 iOS8.0才加上的 ,之前的只有自定义或者使用第三方了
效果:
正常:
毛玻璃效果:
import UIKit class ScrollTestController: UIViewController { var scrollView:UIScrollView! var dataArray = NSMutableArray() // 懒加载 lazy var lasyEffectView:UIVisualEffectView = { // iOS8 系统才有 let tempEffectView = UIVisualEffectView(effect: UIBlurEffect(style: UIBlurEffectStyle.Light)) tempEffectView.frame = self.view.bounds; tempEffectView.alpha = 0.8 // 添加手势 let tap = UITapGestureRecognizer(target: self, action: Selector("effectViewTouch:")) tempEffectView.addGestureRecognizer(tap) return tempEffectView }() override func viewDidLoad() { super.viewDidLoad() self.title = "UIScrollView" // 添加nav右侧按钮 self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "毛玻璃", style: UIBarButtonItemStyle.Plain, target: self, action: Selector("showEffectView")) // UIScrollView self.dataArray = ["1.jpg","2.jpg","3.jpg","4.jpg","IMG_0542.jpg"]; self.scrollView = UIScrollView(frame: self.view.bounds) self.scrollView.pagingEnabled = true self.scrollView.userInteractionEnabled = true; self.scrollView.showsHorizontalScrollIndicator = false; self.scrollView.backgroundColor = UIColor.whiteColor() for var i = 0; i < 5 ;i++ { let X = self.scrollView.frame.size.width * CGFloat(i) var imgView = UIImageView(frame: CGRectMake(X, 0, self.scrollView.frame.size.width, self.scrollView.frame.size.height)) imgView.contentMode = UIViewContentMode.ScaleToFill imgView.image = UIImage(named: (self.dataArray[i] as? String)!) self.scrollView.addSubview(imgView) } self.scrollView.contentSize = CGSizeMake(self.scrollView.frame.size.width * 5.0, 0.0) self.view.addSubview(self.scrollView) } func showEffectView() { // 点击显示毛玻璃的判断 if (lasyEffectView.superview != nil) { lasyEffectView.removeFromSuperview() }else{ self.view.addSubview(lasyEffectView) } } func effectViewTouch(tap:UITapGestureRecognizer) { // 移除毛玻璃 if (lasyEffectView.superview != nil) { lasyEffectView.removeFromSuperview() } } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } }
效果:
正常:
毛玻璃效果:
相关文章推荐
- Swift学习笔记 - 字符串
- swift 学习笔记
- swift tutorial 2---你的第一个项目
- Swift学习笔记 - 变量和常量
- swift学习之杂乱无章
- Swift 对象类型转换
- Swift中的UIKit动力学
- 《从零开始学Swift》学习笔记(Day 7)——Swift 2.0中的print函数几种重载形式
- Swift 随机字符串和字符串中间截取
- Swift 2.0学习笔记(Day 7)——Swift 2.0中的print函数几种重载形式
- swift详解之十四 -----------NSThread 异步下载图片
- Swift语言Storyboard教程:第一部分
- swift - The Flyweight Pattern
- Swift 学习记录--2
- swift详解之十三 -----------AppDelegate
- iOS多线程(GCD)(swift)
- swift 字符串
- 函数 Func
- swift笔记(4)
- Swift入门