键盘隐藏UiTextField时滚动查看

时间:2012-05-03 11:03:01

标签: objective-c ipad

我正在使用iPad应用。在一个视图中,我们有10个文本字段。当我在iPad上查看它们时,底部的文本字段隐藏在键盘后面。

我希望文本字段在隐藏在键盘后方时向上滚动。

非常感谢任何帮助

谢谢你。

2 个答案:

答案 0 :(得分:3)

使用UIScrollView并将UI控件放在scrollview中。在viewDidLoad中保留滚动视图的内容偏移量。 (在下面的代码中,scrollOffset的类型为CGPoint。

scrollOffset = scrollView.contentOffset;

在UITextField委托中为滚动视图设置新的内容偏移量。

- (void)textFieldDidBeginEditing:(UITextField *)textField {

    CGPoint scrollPoint;
    CGRect inputFieldBounds = [textField bounds];
    inputFieldBounds = [textField convertRect:inputFieldBounds toView:scrollView];
    scrollPoint = inputFieldBounds.origin;
    scrollPoint.x = 0;
    scrollPoint.y -= 90; // you can customize this value
    [scrollView setContentOffset:scrollPoint animated:YES];            
}

在textfiedlshouldreturn委托中,重置scrollview的内容偏移量。

- (BOOL) textFieldShouldReturn:(UITextField *)textField { 
    [scrollView  setContentOffset:scrollOffset animated:YES]; 
    [textField resignFirstResponder]; 
    return YES; 
}

答案 1 :(得分:0)

您可以使用键盘上的通知。 当键盘显示时,您将获得UIKeyboardWillShowNotification,然后您可以根据需要移动或滚动项目。

祝你好运 哈德