1

目前,我Did End On Exit在我的应用程序中触发了一个方法(我知道这可能不是最好的方法,但我对 Objective C 和 Xcode 很陌生,我只是在做什么让我感觉舒服)。

此方法从当前文本字段中退出 firstResponder并将其应用于稍后的文本字段。

我面临的问题是键盘覆盖了下一个文本字段,因此用户不知道焦点在哪里,因此不知道他们需要输入什么。

如何让我的键盘向下移动并实际显示当前处于活动状态的文本框?做某事 firstResponder 根本不会做我想做的事,除非我缺少部分实现。

这是我的简单方法:

- (IBAction)firstNameNext:(id)sender {
[firstNameTextField resignFirstResponder];
[surnameTextField becomeFirstResponder];
}

任何建议都会很棒。

4

2 回答 2

1

在主视图中添加 UIScrollView,然后将所有内容作为子视图添加到 UIScrollView

现在,当特定的 UITextField 需要能够在视图中可见时,使用它的委托,如下所示:

注意:像这样在 .h 文件中添加 UITextFieldDelegate

@interface yourViewController : UIViewController<UITextFieldDelegate>

同时与文件的所有者绑定

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField;
{
   if(textField == yourSpecficTextField) //one u want move upwards
   {
      yourScrollView.contentOffset = CGPointMake(0,200); //required offset
   }
   ... //provide contentOffSet those who needed
   return YES;
}

- (void)textFieldDidEndEditing:(UITextField *)textField
{
   yourScrollView.contentOffset = CGPointMake(0,0); //make UIScrollView as it was before
}
于 2012-08-29T11:49:40.223 回答
0

如果您有将被虚拟键盘覆盖的键盘输入字段,那么您需要将这些字段从虚拟键盘下方移出。

执行此操作的正常方法是让控制器的视图成为 UIScrollView 之类的可滚动视图。移动位于键盘下方的内容提供了一种非常强大的方式来调整滚动视图并确保显示所需的字段。

于 2012-08-29T11:52:41.493 回答