觸摸與手勢

1.touch.tapCount==2  點擊次數
touches.count==2 按鈕次數
float pointLong=sqrt(pow(pointTwo.x-pointOne.x, 2)+pow(pointTwo.y-pointOne.y, 2));
勾股定理


self.view.multipleTouchEnabled=YES; 支持多點觸摸
self.view.userInteractionEnabled=YES; 支持點擊響應


2.事件傳遞  由window接受event再遍歷所有視圖一個一個往下傳  子子圖
如果第一響應者不響應,會一一往上傳


3.UIResponser UIApplication  UIView UIViewController


4.觸摸和手勢
觸摸 是複寫方法  是相對於整個屏幕來說的
而手勢 是類   可以給每個繼承UIView的視圖來 定義手勢 及其實現方法、要求


5.單雙擊的關聯
    [tap requireGestureRecognizerToFail:tapDouble];


6.
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    _newTransform=_view.transform;
}


捏合的核心代碼
-(void)pichAction:(UIPinchGestureRecognizer *)pinch
{
    _view.transform=CGAffineTransformConcat(_newTransform, CGAffineTransformMakeScale(pinch.scale, pinch.scale));
    static float scale=0;
    if (pinch.state==UIGestureRecognizerStateEnded) {
        return;
    }
    if(scale==0){
        if (pinch.scale>0) {
            _label.text=@"捏合放大";
        }else
        {
            _label.text=@"捏合縮小";
        }
    
    }
    else
    {
        if (scale-pinch.scale<0) {
            _label.text=@"捏合放大";
        }else
        {
            _label.text=@"捏合縮小";
        }
    }
    scale=pinch.scale;
    
    _view.transform=CGAffineTransformConcat(_newTransform, CGAffineTransformMakeScale(pinch.scale, pinch.scale));


15.隱藏導航欄返回按鈕
self.navigationItem.hidesBackButton=YES;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章