- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在我的应用程序中,我的 UITextFields 位于键盘顶部的下方,因此我必须向上移动我的 View ,以便在我编辑时可以在键盘上看到文本字段。为此,我使用 UITextFieldDelegate 方法 textFieldDidBeginEditing:。然后在方法 textFieldDidEndEditing: 中,我将 View 向下移动。
当我尝试在文本字段之间切换时出现问题。当我这样做时,委托(delegate)会调用方法 textFieldDidEndEditing: 然后立即调用 textFieldDidBeginEditing: 用于另一个文本字段,这会使 View 下降然后立即上升,所以它看起来像屏幕震动。这种效果有什么解决方法吗?
最佳答案
我刚刚遇到了完全相同的问题,这就是我找到的解决方案。
当你的 textField 的键盘被取消时,设置一个单独的方法来处理,并将你的 self.view.center 重新对齐放在那里。这样,您可以确保您的 textFieldDidEndEditing 方法保持独立。
如果我没有正确解释自己的话,这里有一个例子。请注意,当用户点击 textField 时,我会在导航栏中放置一个 DONE 按钮(因为它是一个数字键盘),尽管您可以将此方法链接到普通键盘上的 DONE 按钮:
- (void)textFieldDidBeginEditing:(UITextField *)textField {
UIBarButtonItem *hideKeyboardButton = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(resignResponder:)];
[self.navigationItem setRightBarButtonItem:hideKeyboardButton animated:YES];
}
- (void)textFieldDidEndEditing:(UITextField *)textField {
//Nothing needs to go here anymore
}
- (void)resignResponder:(id)sender {
[textField resignFirstResponder];
//Use core animation instead of the simple action below in order to reduce 'snapback'
self.view.center = CGRectMake(0, 0, 320, 480);
}
关于iphone - textFieldDidEndEditing 在不需要时移动屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11300946/
有没有办法在不使用textFieldDidEndEditing的情况下检测键盘上的返回键被按下。例如,如果您执行关闭键盘的 segue,也会触发 textFieldDidEndEditing。 最佳答
我正在尝试创建一个计算器,该计算器可以在 UITextField 值发生更改时计算结果。 没有提交按钮我认为textFieldDidEndEditing。除了用户输入值的 UITextField 之外
您好,我正在使用以下代码来禁用 2 个 UIButtons,直到四个 UITextField 中有数据 - (void)textFieldDidBeginEditing:(UITextField *)
我正在开发一个使用核心数据的简单应用程序。我有一个带有文本字段的详细信息屏幕,当我单击完成按钮时我想保存它。现在,已完成的操作在调用 textFieldDidEndEditing 之前完成。 (使用
在我的应用程序中,我的 UITextFields 位于键盘顶部的下方,因此我必须向上移动我的 View ,以便在我编辑时可以在键盘上看到文本字段。为此,我使用 UITextFieldDelegate
可能是一个简单的答案, 我怎样才能通过 textField.text来自具有文本字段的 UIAlertView 到 -(void)alertView:(UIAlertView *)alertView
我正在使用以下内容根据文本字段totalAmountInc更新金额VAT func textFieldDidEndEditing(textField: UITextField) { if to
在我的一个项目中,当键盘显示并按下完成按钮时,我首先调用 textFieldDidEndEditing,然后它将触发 UIKeyboardWillHideNotification 的目标函数。然而,在
美好的一天! 我有一个 UITableView 和两个单元格及其相应的 UITextField。我通过for循环创建了UITextField: - (UITextField *)createInfor
当以下文本字段收到代码第二部分中的条件时,我想要一个警报 self.circuit.rcdAtIan = [ICUtils nonNilString:self.rcdAtIan.text]; self
在我的主页中有四个文本字段。但我想在用户在 eamil 文本字段中编写电子邮件时调用方法。 注意:我只想在用户键入电子邮件文本字段时调用方法。我不想在其他文本字段上调用方法。 这是我尝试过的:: fu
我有一个多 View 进程,用户正在输入数据,并且我在整个过程中的每一步都将其保存到模型类属性中。 我使用 textFieldDidEndEditing 检查输入是否有效,如果有效,则保存输入的数据。
UITextFieldDelegate 的事件序列有问题。 我有两个 UITableView A 和 B,它们由两个 UIViewController A 和 B 托管,它们本身由一个容器 View
我有一个 UITextField,在其中输入文本时,我想从文本字段中获取 doubleValue 并执行一些计算并将它们显示在 UITableView 中。 UITextField 的委托(deleg
出于某种原因,我不明白为什么在填写文本时我的按钮无法启用。 这就是我的设置方式。 override func viewDidLoad() { super.viewDidLoad() c
在 Swift 中,我有一个 UITextField、textA 和一个 UITextField、textB。 textA 有时会被禁用,但 textB 始终启用。 textA 被禁用: textA.
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and t
我有一个 ViewController,其中有一个用于用户输入的 TextField 和一个导航栏中的退出按钮。 通常,用户将文本输入到 textField 中,输入内容将在 textFieldDid
我试图在我的应用程序中隐藏我的 UITextField。我首先尝试使用 UIButton 来实现。 为此我做了这个: -(IBAction)hide:(id)sender { _textField.h
我有一个自定义的 UITableView,里面有 UITextFields。在 cellForRow... 中,我将 textFields 委托(delegate)给了自己。 (在我的主要 VC 类中
我是一名优秀的程序员,十分优秀!