【问题标题】:How to find out that keyboard down arrow key pressed, programmatically如何以编程方式找出按下的键盘向下箭头键
【发布时间】:2013-03-26 12:42:58
【问题描述】:

我知道当在键盘上按下向下箭头键时,我们可以收到键盘隐藏通知,但问题是,当我们旋转设备和键盘隐藏时,我们也会收到键盘隐藏通知,现在如何区分键盘隐藏,因为按下的键不是因为旋转。

【问题讨论】:

  • 你愿意吗?令我惊讶的是,您在设备旋转时会隐藏键盘,这听起来像是您的问题在其他地方。
  • 这是因为我在改变方向时重新加载 tableview。
  • 啊,这让它更清楚一点,您无法真正说出键盘隐藏的原因。您可以在表重新加载之前设置一个 BOOL 并在您的偶数处理程序中读取它。

标签: objective-c keyboard


【解决方案1】:

在您的 AppDelegate.m 中

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
      [[NSNotificationCenter defaultCenter] 
      addObserver:self selector:@selector(keyboardWillHide) 
      name:UIKeyboardWillHideNotification object:nil];
      return YES;
}


-(void) keyboardWillHide {
  NSLog(@"Bye");
}

【讨论】:

  • 我已经这样做了,但是正如我在方向更改时所说的那样,它也在调用 keyboardWillHide 方法,因为我正在重新加载 tableview。
【解决方案2】:

当我们点击keyboardreturn or arrow button时,会自动调用textfieldDelegate方法。

- (BOOL)textFieldShouldReturn:(UITextField *)textField

【讨论】:

  • 我猜这个方法不会被向下箭头调用。
  • 抱歉尝试使用 - (BOOL)textFieldShouldEndEditing:(UITextField *)textfield 的 textField 方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-21
  • 2021-12-15
  • 1970-01-01
相关资源
最近更新 更多