swift添加手势操作

//  HappinessViewController.swift
//  Happiness
//
//  Created by longrain on 15/12/16.
//  Copyright © 2015年 longrain. All rights reserved.
//

//import Cocoa
import UIKit

class HappinessViewController: UIViewController, FaceViewDataSource
{
    @IBOutlet weak var faceView: FaceView!{
        didSet {
            faceView.dataSource = self
<u>            faceView.addGestureRecognizer(UIPinchGestureRecognizer(target: faceView, action: "scale:"))
</u>        }
    }
}


///Users/longrain/Documents/Practice/Fourier Transform/Happiness/Happiness/FaceView.swift
//  FaceView.swift
//  Happiness
//
//  Created by longrain on 15/12/16.
//  Copyright © 2015年 longrain. All rights  reserved.
//

import UIKit

protocol FaceViewDataSource: class{ // 协议只能被类引用
    func smilinessForFaceView(sender: FaceView) -> Double?
}



@IBDesignable
class FaceView: UIView {
    
    @IBInspectable
    var lineWidth: CGFloat = 3 {didSet{setNeedsDisplay()}} // Marks the receiver’s entire bounds rectangle as needing to be redrawn.
    @IBInspectable
    var color: UIColor = UIColor.blueColor(){didSet{setNeedsDisplay()}}
    
<u>    @IBInspectable
    var scale: CGFloat = 0.90{didSet{setNeedsDisplay()}}</u>
    
    var faceCenter: CGPoint{
        return convertPoint(center, fromView: superview)
    }
    
    var faceRadius: CGFloat{
        return min(bounds.size.width, bounds.size.height)/2 * scale
    }
    
    weak var dataSource: FaceViewDataSource?
    
<u>    func scale(gesture: UIPinchGestureRecognizer){
        if gesture.state == .Changed{
            scale *= gesture.scale
            gesture.scale = 1
        }
    }</u>
}


gesture.scale = 1的原因是,每次识别手势,完成显示的切换后,都应该重置


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值