iphone - 检测 UITextField 的焦点变化

标签 iphone ios ios5 uitextfield xcode4.3

我正在尝试将动画设置为在键盘隐藏和显示文本字段时向上移动,我让它工作得很好,但是当焦点从一个文本字段移动到另一个文本字段时,它不会' 工作,因为键盘已经显示。

在 viewDidLoad 中,我注册了以下内容:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];

然后在 keyboardWillShow 和 keyboardWillHide 方法中,它确定 View 是否应该移动并相应地设置动画。但是,如果已经显示键盘并且用户单击另一个需要 View 向上移动的文本字段,则不会调用该方法。当键盘已经显示时,有什么方法可以检测焦点是否已更改为另一个文本字段?如果有一种无需将所有文本字段设置为委托(delegate)即可执行此操作的方法,那就太好了。

提前致谢。

最佳答案

使用 UITextField 委托(delegate)方法.. 它比键盘方法更适合您的情况.. 当 textField 获得焦点时 - (void)textFieldDidBeginEditing:(UITextField *)textField; 将被触发 .. 当它失去焦点时 - (void)textFieldDidEndEditing:(UITextField *)textField; 将被触发。

关于iphone - 检测 UITextField 的焦点变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10671698/

相关文章:

ios - UIImagePicker 仅适用于 iPhone 6 plus 上的前置摄像头

iphone - 在 Xcode 4 中将文件添加到单独的目标

ios - 是否有标志表明调用了 `viewDidAppear`?

android - 适用于 Android 和 iOS 的 2D 跨平台游戏引擎?

ios - 在 IOS 应用程序中随处使用对象

ios - Facebook iOS SDK,针对 FBSession 的异常,*** 断言失败 -[FBSession 关闭]

iphone - 为什么我的CoreGraphics形状不显示边框?

iphone - MKAnnotationViews 的 Z 排序

ios - 如何使用 8MP 摄像头在 iPhone 设备中捕获 5MP 图像?

ios - 防止意外解雇iPad上的UIActionSheet