【问题标题】:How can I interact with "iPad keyboard hiding button" programmatically?如何以编程方式与“iPad 键盘隐藏按钮”交互?
【发布时间】:2011-04-29 04:46:35
【问题描述】:

iPad键盘右下角有一个隐藏小键盘的按钮。

如何以编程方式与之交互? (获取按钮,然后发送UIControlEventTouchUpInside 给它)。

有人知道吗?

[编辑] 在我的例子中,键盘显示在模态视图中。

【问题讨论】:

  • 这是否与向您正在编辑的视图发送 -(void)dismissFirstResponder 不同?
  • 就我而言,resignFirstResponder 不起作用,因为我想在模态视图 (UIModalPresentationFormSheet) 上隐藏 iPad 键盘以显示 UIDatePicker,所以我想触发该事件以尽可能隐藏键盘
  • 如果您呈现 UIDatePicker 并使其成为第一响应者,则键盘应该消失,不是吗?为什么还不够好?
  • 嗨 IPMCC,让我试试,谢谢
  • 我正在寻找同样的东西,这对我有用:stackoverflow.com/a/6268520

标签: objective-c ipad


【解决方案1】:

覆盖disablesAutomaticKeyboardDismissal 以返回NO 如下所示允许您在resignFirstResponder 时关闭键盘,即使您的UITextView 位于模态视图上。你应该把这段代码放到你的视图控制器中,从那里你可以启动键盘:

- (BOOL)disablesAutomaticKeyboardDismissal {
    return NO;
}

来源:https://stackoverflow.com/a/6268520

【讨论】:

  • 欢迎来到 Stack Overflow!虽然这在理论上可以回答问题,it would be preferable 在此处包含答案的基本部分,并提供链接以供参考。
【解决方案2】:

一般情况下,您会将resignFirsResponder 消息发送到活动输入视图。

【讨论】:

  • 我已经尝试过了,但在我的情况下,模态视图上的键盘不起作用。
【解决方案3】:

这样的?我不记得在哪里找到了这段代码,但我用它来切换屏幕键盘,因为如果连接了蓝牙,它会默认隐藏。

- (void) toggleKeyboard(UIKeyboardImpl * keyImpl){

    if (UIKeyboardAutomaticIsOnScreen()) {
        UIKeyboardOrderOutAutomatic();
    } else {
    UIKeyboardOrderInAutomatic();
}

编辑


我找到了where 我得到了这个代码。它工作正常,但问题是您需要导入私有框架 GraphicsServices,这很可能会导致您的应用被 App Store 拒绝。

【讨论】:

    猜你喜欢
    • 2011-07-30
    • 1970-01-01
    • 1970-01-01
    • 2011-09-04
    • 2012-04-19
    • 1970-01-01
    • 2011-02-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多