gpt4 book ai didi

iOS 在键盘之前启动 UIView?

转载 作者:行者123 更新时间:2023-11-29 01:55:56 24 4
gpt4 key购买 nike

我的 UIView 中有两个 UIView。这是我的观点: enter image description here

在聚焦的文本字段上,显示键盘,键盘隐藏我的文本字段。我想在键盘之前将整个 TextField View 向上移动。我在 stackoverflow 上找到了代码示例: iPhone Keyboard Covers UITextField

这是代码:

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


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

- (void) animateTextField: (UITextField*) textField up: (BOOL) up
{
const int movementDistance = 80; // tweak as needed
const float movementDuration = 0.3f; // tweak as needed

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];
}

我正在尝试实现它,但我遇到了麻烦。有人可以解释如何正确地做到这一点吗?

最佳答案

而不是手动执行此操作。使用 TPKeyboardAvoidingScrollView .它易于使用。

首先获取 UIScrollView 并将所有 View 放入其中。

要与 UITableViewController 类一起使用,请将 TPKeyboardAvoidingTableView.m 和 TPKeyboardAvoidingTableView.h 放入您的项目中,并使您的 UITableView 成为 xib 中的 TPKeyboardAvoidingTableView。如果您没有将 xib 与您的 Controller 一起使用,我知道没有简单的方法可以使其 UITableView 成为自定义类:阻力最小的途径是为其创建一个 xib。

对于非 UITableViewControllers,将 TPKeyboardAvoidingScrollView.m 和 TPKeyboardAvoidingScrollView.h 源文件放入您的项目中,将 UIScrollView 弹出到您的 View Controller 的 xib 中,将 ScrollView 的类设置为 TPKeyboardAvoidingScrollView,并将所有控件放入该 ScrollView 中。您也可以在不使用 xib 的情况下以编程方式创建它 - 只需使用 TPKeyboardAvoidingScrollView 作为您的顶级 View 。

关于iOS 在键盘之前启动 UIView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30847163/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com