В моем приложении возникают проблемы, если быстро нажать кнопку «Далее» (клавиша возврата). Есть ли способ, которым я могу помешать пользователю сделать это? Я не могу придумать решение самостоятельно.
Я нахожусь в 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];
}
Спасибо.