我按照本教程this tutorial 来避免文字字段隐藏在键盘后面。问题出在我使用两个视图时。 View1按下一个按钮调用View2。两个视图都有文本字段和下一个按钮。但问题是这个代码只适用于一个视图
案例1
案例2
我不知道为什么会发生这种情况它应该对两个视图都一样。如链接中所示,我创建了所需的文件MIBackgroundTapDelegate.h,
MIScrollView.h
MIScrollView.m
ScrollableViewController.h
ScrollableViewController.m
答案 0 :(得分:1)
阅读你的问题我假设你在键盘弹出窗口中遇到问题。您应该将UITextFilds
放在UIScrollView
中并调用此委托方法。按下Next / Return按钮将调用它,它将光标移动到第二个UITextField
。
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
NSInteger nextTag = textField.tag + 1;
UIResponder* nextResponder = [textField.superview viewWithTag:nextTag];
if (nextResponder)
{
// Found next responder, so set it.
[nextResponder becomeFirstResponder];
txtPswd.secureTextEntry=YES;
sv.contentOffset=CGPointMake(0, 150); //it will push your scrollview 150 pixels upwards.
}
else
{
// Not found, so remove keyboard.
[textField resignFirstResponder];
sv.contentOffset=CGPointMake(0, 0);
}
return NO;
}