iOS系统SDK实现毛玻璃效果(swift版 iOS8.0及其以上)

6 篇文章 0 订阅

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()

    }
   
}

效果:

正常:

毛玻璃效果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值