2012-01-10 165 views
0

在我的应用程序中,如果快速点击“下一步”按钮(返回键),会导致问题。有没有办法阻止用户这样做?我自己无法想到一个解决方案。iPhone键盘快速点击“下一步”按钮

我在一个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]; 
} 

感谢。

+2

“它导致问题”可以是任何事情 - 更详细地描述您的问题! – JonasG 2012-01-10 21:08:14

+0

它会导致什么问题? – 2012-01-10 21:08:15

+0

添加了代码示例,对于之前缺乏细节感到抱歉。 – 2012-01-10 21:34:11

回答

0

从你的代码看起来你正在重载Return按钮。您是否考虑实施toolbar with Next/Previous buttons,以便用户在意外超负荷时可以轻松返回跳过的字段?