iOS

关于iOS的长按的一些状态

2018-03-15  本文已影响15人  0无敌小宋0

        去年做过一个画图软件,需要在手机上进行绘制草图相关操作。其中一个就是长按进行绘制线段矩形等图形,在此拿出来和大家分享一下。


1、创建一个长按手势,并添加到相应view上

UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(longClick:)];

longPress.minimumPressDuration=0.2;

[recordImageViewaddGestureRecognizer:longPress];

2、创建相应的长按触发方法(不创建的话,长按的时候程序会crash)

- (void)longClick:(UILongPressGestureRecognizer *)longPress

{

    EM

    UIImageView *recordImageView = (UIImageView *)longPress.view;

    switch (longPress.state) {

        case UIGestureRecognizerStateBegan:

        {

            //长按开始

            recordImageView.transform = CGAffineTransformMakeScale(1.15, 1.15);

            [em startRecordWith:em.filePath];

            [recordImageView startAnimating];

            break;

        }

        case UIGestureRecognizerStateChanged:

        {

            //移动中

    break;

        }

        case UIGestureRecognizerStateEnded:

        {

            //长按结束

            recordImageView.transform = CGAffineTransformMakeScale(1.0, 1.0);

            [em stopRecordWith:em.filePath];

            [recordImageView stopAnimating];

            break;

        }

        default:

            break;

    }

}

        长按当然还有其他的状态,但是平时开发中基本上就用到这3种状态。需要了解具体的,就去苹果的官方文档中了解吧。小编水平有限,如有疏漏之处请在下面留言,我会虚心采纳您的意见。

ps:这里说一下switch,每个case中一定break,不然还会走下面的状态,小编经常会犯这种错

上一篇 下一篇

猜你喜欢

热点阅读