第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

按下時(shí)會(huì)兩次調(diào)用UILongPressGestureRecognizer

按下時(shí)會(huì)兩次調(diào)用UILongPressGestureRecognizer

iOS
PIPIONE 2019-12-06 06:06:44
我正在檢測(cè)用戶是否已按下2秒鐘:UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc]                                             initWithTarget:self                                              action:@selector(handleLongPress:)];        longPress.minimumPressDuration = 2.0;        [self addGestureRecognizer:longPress];        [longPress release];這是我處理長(zhǎng)按的方式:-(void)handleLongPress:(UILongPressGestureRecognizer*)recognizer{    NSLog(@"double oo");}當(dāng)我按下2秒鐘以上時(shí),文本“ double oo”被打印兩次。為什么是這樣?我該如何解決?
查看完整描述

3 回答

?
白衣非少年

TA貢獻(xiàn)1155條經(jīng)驗(yàn) 獲得超0個(gè)贊

UILongPressGestureRecognizer是連續(xù)事件識(shí)別器。您必須查看狀態(tài)以查看這是事件的開(kāi)始,中間還是結(jié)束,并采取相應(yīng)的措施。即,您可以在開(kāi)始之后放棄所有事件,或者僅根據(jù)需要查看運(yùn)動(dòng)。從 類參考:


長(zhǎng)按手勢(shì)是連續(xù)的。當(dāng)在指定時(shí)間段內(nèi)(minimumPressDuration)按下了允許的手指數(shù)(numberOfTouchesRequired),并且觸摸沒(méi)有移動(dòng)超出允許的移動(dòng)范圍(allowableMovement)時(shí),手勢(shì)即開(kāi)始(UIGestureRecognizerStateBegan)。每當(dāng)手指移動(dòng)時(shí),手勢(shì)識(shí)別器都會(huì)轉(zhuǎn)換為“更改”狀態(tài),并且在任何手指抬起時(shí)手勢(shì)識(shí)別器都會(huì)終止(UIGestureRecognizerStateEnded)。


現(xiàn)在您可以像這樣跟蹤狀態(tài)


-  (void)handleLongPress:(UILongPressGestureRecognizer*)sender { 

    if (sender.state == UIGestureRecognizerStateEnded) {

      NSLog(@"UIGestureRecognizerStateEnded");

    //Do Whatever You want on End of Gesture

     }

    else if (sender.state == UIGestureRecognizerStateBegan){

       NSLog(@"UIGestureRecognizerStateBegan.");

   //Do Whatever You want on Began of Gesture

     }

  }



查看完整回答
反對(duì) 回復(fù) 2019-12-07
?
鴻蒙傳說(shuō)

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊

要檢查UILongPressGestureRecognizer的狀態(tài),只需在選擇器方法上添加if語(yǔ)句:


- (void)handleLongPress:(UILongPressGestureRecognizer *)sender {    

    if (sender.state == UIGestureRecognizerStateEnded) {

        NSLog(@"Long press Ended");

    } else if (sender.state == UIGestureRecognizerStateBegan) {

        NSLog(@"Long press detected.");

    }

}



查看完整回答
反對(duì) 回復(fù) 2019-12-07
?
撒科打諢

TA貢獻(xiàn)1934條經(jīng)驗(yàn) 獲得超2個(gè)贊

您需要檢查正確的狀態(tài),因?yàn)槊糠N狀態(tài)都有不同的行為。您最有可能需要UIGestureRecognizerStateBegan帶有狀態(tài)UILongPressGestureRecognizer。


UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc]

                                             initWithTarget:self 

                                             action:@selector(handleLongPress:)];

longPress.minimumPressDuration = 1.0;

[myView addGestureRecognizer:longPress];

[longPress release];

...


- (void)handleLongPress:(UILongPressGestureRecognizer *)gesture {

    if(UIGestureRecognizerStateBegan == gesture.state) {

        // Called on start of gesture, do work here

    }


    if(UIGestureRecognizerStateChanged == gesture.state) {

        // Do repeated work here (repeats continuously) while finger is down

    }


    if(UIGestureRecognizerStateEnded == gesture.state) {

        // Do end work here when finger is lifted

    }

}



查看完整回答
反對(duì) 回復(fù) 2019-12-07
  • 3 回答
  • 0 關(guān)注
  • 571 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)