簡體   English   中英

iPhone鍵盤快速點擊“下一步”按鈕

[英]iPhone Keyboard Rapidly tapping 'Next' Button

在我的應用中,如果快速點擊“下一步”按鈕(返回鍵),則會導致問題。 有什么辦法可以阻止用戶執行此操作? 我自己想不出解決方案。

我在具有許多頁面的UIScrollView中,並且在特定頁面上有一個鍵盤彈出窗口,因此用戶可以鍵入UITextField。 點擊下一步按鈕將提示滾動視圖滑動到下一頁。 但是,如果用戶過多地點擊按鈕,則會導致滾動視圖跳來跳去。

下面的代碼是點擊返回鍵時的關鍵部分,它調用了[self setPage:6];

-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
    //Enter your first and last name
    if (textField == firstnameField1) 
    {
        //Put the text into a string to be saved
        firstName1 = firstnameField1.text;
        //Send user to next field (your surname)
        [surnameField1 becomeFirstResponder];
    }
    else if (textField == surnameField1)
    {
        //Put text into a string to be saved
        surname1 = surnameField1.text;
        //Move to the next stage, enter partners name
        if (pageController.currentPage == 4) {
            [self setPage:5];
        }
        else if (pageController.currentPage == 3)
        {
            [self setPage:5];
        }

        currentStage = stage6;
    }

    //Enter your partners first and last name
    if (textField == firstnameField2) 
    {
        //Put the text into a string to be saved
        firstName2 = firstnameField2.text;
        //Send user to next field (your partners surname)
        [surnameField2 becomeFirstResponder];
    }
    else if (textField == surnameField2)
    {
        //Put text into a string to be saved
        surname2 = surnameField2.text;
        //Move to the next stage, enter partners name
        if (pageController.currentPage == 5) {
            [self setPage:6];
        }
        else if (pageController.currentPage == 4)
        {
            [self setPage:6];
        }

        currentStage = stage7;
    }

    return YES;
}

該方法setPage如下:

-(void)setPage:(int)destinationPage
{
    //Scroll to appropriate page in scroll view
    CGRect frame = scrollViewController.frame;
    frame.origin.x = frame.size.width * destinationPage;
    frame.origin.y = 0;
    [scrollViewController scrollRectToVisible:frame animated:YES];
}

謝謝。

從您的代碼看來,您正在使“返回”按鈕超載。 您是否考慮過使用“下一個/上一個”按鈕實現工具欄,以便用戶在意外點擊時可以輕松地返回到跳過的字段?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM