滚动查看 UITableView 页脚中的文本框

发布于 2024-11-02 12:50:18 字数 111 浏览 3 评论 0原文

我有一个文本框可以在 UITableView 页脚中输入代码。

当我单击文本框时,会出现键盘,但我不确定如何让 UITableView 滚动以使文本框可见 有

任何代码示例吗?

I have a textbox to enter a code in UITableView footer.

When I click the text box I get the keyboard appearing but I am not sure how I could get the UITableView to scroll so that the text box is visible

Any code sample for this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

浅听莫相离 2024-11-09 12:50:18

从之前的 SO 问题中得到了这个代码。

 - (void)textFieldDidBeginEditing:(UITextField *)textField
    {
        if(textField == birthdayTextField)
            [self animateTextField: textField up: YES];
    }


    - (void)textFieldDidEndEditing:(UITextField *)textField
    {
        if(textField == birthdayTextField)
            [self animateTextField: textField up: NO];
    }

    - (void) animateTextField: (UITextField*) textField up: (BOOL) up
    {
        const int movementDistance = 80;  //change this around
        const float movementDuration = 0.3f; //change this around

        int movement = (up ? -movementDistance : movementDistance);

        [UIView beginAnimations: @"anim" context: nil];
        [UIView setAnimationBeginsFromCurrentState: YES];
        [UIView setAnimationDuration: movementDuration];
        self.view.frame = CGRectOffset(self.view.frame, 0, movement);
        [UIView commitAnimations];
    }

Got this code from a previous SO question.

 - (void)textFieldDidBeginEditing:(UITextField *)textField
    {
        if(textField == birthdayTextField)
            [self animateTextField: textField up: YES];
    }


    - (void)textFieldDidEndEditing:(UITextField *)textField
    {
        if(textField == birthdayTextField)
            [self animateTextField: textField up: NO];
    }

    - (void) animateTextField: (UITextField*) textField up: (BOOL) up
    {
        const int movementDistance = 80;  //change this around
        const float movementDuration = 0.3f; //change this around

        int movement = (up ? -movementDistance : movementDistance);

        [UIView beginAnimations: @"anim" context: nil];
        [UIView setAnimationBeginsFromCurrentState: YES];
        [UIView setAnimationDuration: movementDuration];
        self.view.frame = CGRectOffset(self.view.frame, 0, movement);
        [UIView commitAnimations];
    }
乖乖兔^ω^ 2024-11-09 12:50:18

由于页脚无法滚动到表格视图最低点的更高位置,因此您需要将表格视图向上移动以显示文本框。

这里有一篇不错的博文: http://cocoawithlove.com/ 2008/10/sliding-uitextfields-around-to-avoid.html

since the footer cant scroll any higher the the lowest point of the tableview, you will need to move the tableview up to to show the textbox.

There is a nice blogpost here: http://cocoawithlove.com/2008/10/sliding-uitextfields-around-to-avoid.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文