0

我正在尝试调整默认 IOS 行为的自动滚动距离。 在此处输入图像描述

如图所示,默认情况下,屏幕会自动向上滚动,这样键盘就不会隐藏您正在编辑的部分。但是这样做的问题是它只能向上滚动到足够高,以至于键盘顶部与单元格底部重叠。

我想要的是这样的:

在此处输入图像描述

因此,与其只是向上移动直到键盘不会覆盖 textField,它应该向上移动一些额外的空间,以便也可以看到下一个 textField。

好的,现在我完成描述。这是我尝试过的。1. 我尝试委托 didSelectRowAtIndexPath 来汇总表格视图。2.我曾尝试使用点击手势识别器来处理tapPosition,然后滚动。

这两种方法实际上在某种程度上有效,但它们仍然不是我想要的 100%。因为一旦我点击文本字段的焦点,表格视图仍然没有移动到足够高以便我可以看到下一个字段。(在我看来,专注于事件的 textFields 比点击手势和单元格选择具有更高的优先级)

现在这就是我想要的,我想知道是否有办法在文本字段的焦点上调整默认向上滚动行为。

谢谢。

4

1 回答 1

0

尝试这个,

-(void)textFieldDidBeginEditing:(UITextField *)textField
{
    self.activeTextField = textField;
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:0.3f];
    [self.scrollView setContentOffset:CGPointMake(0.0, self.activeTextField.frame.origin.y-92) animated:YES]; // change the value "92" as per your scroll height.
        [UIView commitAnimations];
}
于 2013-10-16T06:30:49.173 回答