IOS检测是否在End On Exit事件上单击了另一个文本字段

时间:2013-11-10 20:50:47

标签: ios animation uitextfield

我正在尝试检测当前所选End On Exit的{​​{1}}事件中是否已点击某个文本字段。 让我告诉你而不是试图解释:

TextField

所以我有两个文本域- (IBAction)txtUsernameEdit:(id)sender { CGRect loginButton = btnLogin.frame; CGRect registerButton = btnRegister.frame; loginButton.origin.x = 19; loginButton.origin.y = 175; registerButton.origin.x = 189; registerButton.origin.y = 175; [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:0.5]; btnLogin.frame = loginButton; btnRegister.frame = registerButton; } - (IBAction)txtUsernameEndExit:(id)sender { if (!txtPassword.isTouchInside) { CGRect loginButton = btnLogin.frame; CGRect registerButton = btnRegister.frame; loginButton.origin.x = 19; loginButton.origin.y = 308; registerButton.origin.x = 189; registerButton.origin.y = 308; [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:0.5]; btnLogin.frame = loginButton; btnRegister.frame = registerButton; } } - (IBAction)txtPasswordEdit:(id)sender { CGRect loginButton = btnLogin.frame; CGRect registerButton = btnRegister.frame; loginButton.origin.x = 19; loginButton.origin.y = 175; registerButton.origin.x = 189; registerButton.origin.y = 175; [UIView beginAnimations:nil context :nil]; [UIView setAnimationDuration:0.5]; btnLogin.frame = loginButton; btnRegister.frame = registerButton; } - (IBAction)txtPasswordEndExit:(id)sender { if (!txtPassword.isHighlighted) { CGRect loginButton = btnLogin.frame; CGRect registerButton = btnRegister.frame; loginButton.origin.x = 19; loginButton.origin.y = 308; registerButton.origin.x = 189; registerButton.origin.y = 308; [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:0.5]; btnLogin.frame = loginButton; btnRegister.frame = registerButton; } } txtUsername。 当用户单击相反的文本字段或键盘上的完成键时,将触发函数txtPasswordtxtUsernameEndExit。如果用户实际点击那里,我怎样才能找到这些功能?

在if子句中,我尝试了以下属性和方法:   - isFirstResponder   - isTouchInside   - isEditing   - 很明显

但我想如果尚未解雇End On Exit功能,这些属性都没有改变。

什么是合适的方法?

编辑 - 不同的方法 所以,最近我想我也可以观察键盘的显示或隐藏。 我为我的视图启用了自动布局,并且只有两个文本字段和两个按钮。一旦我点击一个文本字段,按钮会在动画描述时出现并再次向下显示(显然是自动反向),但是如果我点击一个文本字段然后点击另一个文本字段键盘不会按下但是按钮会按下。 这是我用来制作动画的所有代码:

txtPasswordEndExit

1 个答案:

答案 0 :(得分:1)

为什么不使用UITextFieldDelegate方法:

  • textFieldShouldBeginEditing:
  • textFieldDidBeginEditing:
  • textFieldShouldEndEditing:
  • textFieldDidEndEditing: