Ios scrollRectToVisible:CGRectMake工作不正常

Ios scrollRectToVisible:CGRectMake工作不正常,ios,iphone,uiscrollview,Ios,Iphone,Uiscrollview,我在UIScrollView中有5个UITextFields,当我触摸第四个文本字段时,键盘会出现,但它会出现在文本字段上方(文本字段仍在键盘下方),我看不到我正在键入的内容 我尝试使用-scrollRectToVisible:CGRectMake改变了contentSize的大小,效果很好 但这种行为是不可理解的。有人能告诉我这个函数实际上是如何工作的吗?试试 - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {

我在
UIScrollView
中有5个
UITextField
s,当我触摸第四个文本字段时,键盘会出现,但它会出现在文本字段上方(文本字段仍在键盘下方),我看不到我正在键入的内容

我尝试使用
-scrollRectToVisible:CGRectMake
改变了
contentSize
的大小,效果很好

但这种行为是不可理解的。有人能告诉我这个函数实际上是如何工作的吗?

试试

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
    CGRect rc = [textField bounds];
    rc = [textField convertRect:rc toView:self.scrollView];
    CGPoint pt = rc.origin;
    pt.x = 0;
    if(rc.origin.y > 200) // here you can also change value 200 and 150 as per your requirement.
        pt.y -=  150;
    else
        pt.y -= rc.origin.y;
    [self.scrollView setContentOffset:pt animated:YES];

    return YES;
}

不可理解?您的意思是代码不清楚,无法读取?当您的文本字段处于选中状态时,您需要设置帧。@iPatel是,我正在设置帧。。所有文本字段都会向上显示,部分文本字段可见。但是当我想要原稿的时候。。它没有按预期工作。。实际上,get-Shift的位置比Set-contentOffset属性的位置低很多,因此它变为顶部。@Wain-scrollRectToVisibe未按预期工作。谢谢。。使用-setContentOffset方法解决问题它帮助了我,但是如果您能描述硬编码的200和-150,它将更有帮助。欢迎--您也可以根据您的要求更改它:)