草庐IT

iphone - becomeFirstResponder 不隐藏键盘

coder 2023-09-23 原文

我有一个 View 支持复制并使用以下代码显示编辑菜单:

if ([self becomeFirstResponder]) {
    // bring up edit menu.
    UIMenuController *theMenu = [UIMenuController sharedMenuController];
    [theMenu setTargetRect:[self _textRect] inView:self];
    [theMenu setMenuVisible:YES animated:YES];
}

问题是,当 becomeFirstResponder 被调用时,键盘被隐藏了。正确行为的一个很好的例子是 SMS 应用程序。在回复框可见且回复框失去焦点时双击消息,但键盘保持原位。此外,取消选择气泡后,回复框会重新获得焦点。

最佳答案

不幸的是,Apple 可以做很多第三方应用无法做到的事情。

我相信如果您使成为第一响应者的 View 接受键盘输入,那么您想要的在 iOS 3.2+ 中是可能的。您可以通过让您的 View 类采用 UIKeyInput protocol 来做到这一点:

A subclass of UIResponder can adopt this protocol to implement simple text entry. When instances of this subclass are the first responder, the system keyboard is displayed.

该协议(protocol)包含 3 个必须实现的必需方法。在您的情况下,您可能会将在这些方法中收到的输入应用到您的文本字段并再次使其成为第一响应者。我没试过这个,但它应该有用。

关于iphone - becomeFirstResponder 不隐藏键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4282964/

有关iphone - becomeFirstResponder 不隐藏键盘的更多相关文章

  1. ruby - 在 Ruby 中用键盘诅咒数组浏览 - 2

    我正在尝试在Ruby中制作一个cli应用程序,它接受一个给定的数组,然后将其显示为一个列表,我可以使用箭头键浏览它。我觉得我已经在Ruby中看到一个库已经这样做了,但我记不起它的名字了。我正在尝试对soundcloud2000中的代码进行逆向工程做类似的事情,但他的代码与SoundcloudAPI的使用紧密耦合。我知道cursesgem,我正在考虑更抽象的东西。广告有没有人见过可以做到这一点的库或一些概念证明的Ruby代码可以做到这一点? 最佳答案 我不知道这是否是您正在寻找的,但也许您可以使用我的想法。由于我没有关于您要完成的工作

  2. Ruby隐藏与覆盖 - 2

    我刚刚了解到,在Java中,覆盖和隐藏之间是有区别的(静态方法是隐藏的,而不是覆盖),这意味着Java使用早期绑定(bind)和后期绑定(bind)。是否有与方法隐藏类似的东西,或者它只是具有方法重写? 最佳答案 Java具有三种不同的“方法”:实例方法,静态方法和构造函数。Ruby只有一个:实例方法。在Java中,静态方法的行为必须不同于实例方法,因为类不是对象。它们没有类,因此也没有父类(superclass),因此没有要覆盖的内容。在Ruby中,类与其他任何对象一样都是对象,它们具有一个类,该类可以具有父类(superclas

  3. ruby-on-rails - Rails 4 真实性 token - 在 header 和表单隐藏输入中? - 2

    我正试图在Rails中获得完整的页面缓存,但我在CSRF方面遇到了很大的障碍——或者可能只是我对它的理解。我目前有form_authenticity_token存储在cookie中的字符串,JS可以使用该cookie访问和重写header标签。我在生成的HTML中有两个地方可以找到标记:1)在头部2)在表单的隐藏输入元素中如前所述,这些哈希值彼此不同(在未启用缓存的开发模式下)。他们为什么不同?为什么我可以删除headmeta标签并保留表单输入并且允许请求​​?然而,当我删除表单输入标签并保留标题时,请求被拒绝了吗?实际上这意味着head标签是无用的,不是吗?我可以将表单输入标签重写为

  4. 驱动开发:内核无痕隐藏自身分析 - 2

    在笔者前面有一篇文章《驱动开发:断链隐藏驱动程序自身》通过摘除驱动的链表实现了断链隐藏自身的目的,但此方法恢复时会触发PG会蓝屏,偶然间在网上找到了一个作者介绍的一种方法,觉得有必要详细分析一下他是如何实现的进程隐藏的,总体来说作者的思路是最终寻找到MiProcessLoaderEntry的入口地址,该函数的作用是将驱动信息加入链表和移除链表,运用这个函数即可动态处理驱动的添加和移除问题。MiProcessLoaderEntry(pDriverObject->DriverSection,1)添加MiProcessLoaderEntry(pDriverObject->DriverSection,

  5. ruby-on-rails - 在 Ruby on Rails 中隐藏字段 - 2

    我的数据库中有一个名为IP的字段,当他在我的Rails内置博客中发送消息时,我将用户IP(在#create方法中)放在该字段中。但是当我想以另一种格式(JSON)查看文章时,该字段是可见的。如何隐藏字段IP? 最佳答案 您可以在Controller中的格式block中执行此操作,如下所示:respond_todo|format|format.json{render:json=>@user,:except=>[:ip]}#orwithoutformatblock:@user.to_json(:except=>:ip)end如果你想普遍

  6. ruby - 为什么 Gosu 隐藏我的鼠标指针? - 2

    我正在使用Gosugem进行一些图形编程。问题是,当我创建一个窗口时,我的鼠标指针被隐藏了。我可以猜到鼠标在某个时刻的位置,我可以凭直觉点击,但我的用户可能不会。如何显示指针? 最佳答案 如果你想使用系统光标你可以这样做classWindow查看libgosu的文档RubyGosurdocReference/Window 关于ruby-为什么Gosu隐藏我的鼠标指针?,我们在StackOverflow上找到一个类似的问题: https://stackoverf

  7. ruby-on-rails - 如何使用私有(private)提交隐藏提要? - 2

    在评估表单中有一个提交按钮和一个按钮。如果点击私有(private)提交,提交的信息将对查看个人资料的其他用户隐藏。我们怎样才能同时使用隐藏提交的信息以防止在提要上显示?activities/index.html.erbFeed#We'dneedtomake.public_valuationsworkwiththiswithoutgettinganundefinedmethoderror.activities_controller.rbclassActivitiesController为简洁起见,我将只包含_create(还有update和destroy)。每次用户提交估价时,它都会在

  8. ruby - 如何在 rails_admin 的编辑表单中隐藏 "Save and Add Another"按钮? - 2

    我在我的Rails应用程序中应用了rails_admingem。我想删除特定模型编辑表单中一些不必要的按钮,并添加我自己的自定义按钮。请查看屏幕截图,了解我要删除的内容。 最佳答案 @montells复制https://github.com/sferik/rails_admin/blob/master/app/views/rails_admin/main/_submit_buttons.html.haml这个页面在你的repo中,位于“views/rails_admin/main/_submit_buttons.html.haml”

  9. iphone - 扩展 restful_authentication/AuthLogic 以支持匿名 iPhone 的延迟登录的最佳方法是什么? - 2

    我正在构建一个与RubyonRails后端对话的iPhone应用程序。RubyonRails应用程序还将为Web用户提供服务。restful_authentication插件是提供快速和可定制的用户身份验证的绝佳方式。但是,我希望iPhone应用程序的用户在新列中存储一个由手机的唯一标识符([[UIDevicedevice]uniqueIdentifier])自动创建的帐户。稍后,当用户准备好创建用户名/密码时,帐户将更新为包含用户名和密码,iPhone唯一标识符保持不变。用户在设置用户名/密码之前不能访问该网站。然而,他们可以使用iPhone应用程序,因为该应用程序可以使用它的标识符

  10. 从零开始编写Web自动化测试脚本(六)--鼠标、键盘操作 - 2

    第一章Selenium+WebDriver环境搭建第二章Selenium定位方式第三章元素常用属性第四章自动化中的三种等待第五章自动化浏览器设置及句柄、窗口切换操作第六章鼠标、键盘操作第七章javascript在自动化中的应用第八章unittest&断言第九章ddt数据驱动第十章测试框架搭建过程Python+Selenium+BeautifulReport文章目录一、鼠标操作二、键盘操作一、鼠标操作1、在web测试中,鼠标的操作包含在ActionChains类中,经常用到的有单击、双击、右击、拖动等操作。2、在使用鼠标操作前需要先导入ActionChains类包:fromselenium.we

随机推荐