无法快速移动键盘视图iOS9

2023-12-15

我需要实现一个拒绝键盘(向下滑动以拒绝),就像 iOS 上的股票消息应用程序中的键盘一样。

我有这段代码来获取键盘视图:

func keyboardWillShowWithNotification(notification:NSNotification) {
    let keyboardView = accessoryView.superview
}  

我连接了 tableView 的 UIPanGestureRecognizer 来检测何时需要开始向下移动键盘。

func handleTableViewPan(gr:UIPanGestureRecognizer) {

   let location = panGestureRecognizer.locationInView(self.view)
   let offset = ... //calculated correctly
   keyboardView.frame.origin.y = originalKeyboardFrame.origin.y + offset
}

该方法在 iOS 8 上运行良好,但在 iOS 9 上键盘的固定位置似乎有点不同,所以我无法移动它。 也许有人遇到了同样的问题并且可以帮助我。 谢谢。


在iOS 9中,有一个名为UIRemoteKeyboardWindow的新键盘窗口,因此当您使用accessoryView.superview时,您将得到错误的视图。

要获得正确的视图,请尝试直接从窗口层次结构中找到它: (objective-c 代码)

-(UIView*)getKeyboardInputView {
    if([[UIDevice currentDevice].systemVersion floatValue] >= 9.0) {
        for(UIWindow* window in [[UIApplication sharedApplication] windows])
            if([window isKindOfClass:NSClassFromString(@"UIRemoteKeyboardWindow")])
                for(UIView* subView in window.subviews)
                    if([subView isKindOfClass:NSClassFromString(@"UIInputSetHostView")])
                        for(UIView* subsubView in subView.subviews)
                            if([subsubView isKindOfClass:NSClassFromString(@"UIInputSetHostView")])
                                return subsubView;
    } else {
        return accessoryView.superview;
    }
    return nil;
}

附:取自 DAKeyboardControlhttps://github.com/danielamitay/DAKeyboardControl/pull/98

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法快速移动键盘视图iOS9 的相关文章

  • 在界面生成器/故事板中设置 UIButton 图像

    我有一个视图控制器 我在故事板中添加了一个圆形矩形按钮 该应用程序运行良好 我还使用故事板将按钮连接到 segue 我正在尝试为此按钮设置一个自定义图像以用于其开和关状态 我如何访问此按钮并设置其属性 在本例中为开和关图像 这是一个屏幕截图
  • 如何等待 webViewDidFinishLoad 完成

    我有一个初始化 webView 的布尔条件 并在 webViewDidFinishLoad 中加载另一个委托 以便在完成完成后触发 但是 由于布尔值在条件 webViewDidFinishLoad 之前返回 因此页面永远不会完全加载 如何确
  • iOS 4.2.1 丢失文件?

    这是我第一次使用最新的 xcode 3 2 5 和新的 iOS 4 2 1 当我在设备上运行应用程序时 我收到以下运行时错误 无法读取 Developer Platforms iPhoneOS platform DeviceSupport
  • 使用 UIImagePickerController 的应用程序在拍照后选择“使用照片”时冻结

    我现在正在开发一个简单的照片和视频捕获应用程序 该应用程序成功地允许用户按下按钮即可拍摄照片或视频 但是 一旦您完成拍摄照片或视频 它就会提供 2 个选项 重新拍摄 和 使用照片 或 使用视频 具体取决于您使用的选项 如果用户点击 重新拍摄
  • 尝试从独立的 Apple Watch 应用发出网络请求

    当应用程序是独立应用程序时 Apple Watch 是否无法进行网络通话 即使手表已连接到 iPhone 我正在使用新的独立应用程序目标 它没有附带可以发出 WatchConnectivity 请求的配对 iOS 应用程序 我十有八九收到
  • UIBezierPath 的起始和结束角度?

    我在 iOS 中使用如下代码编写了半圆UI贝塞尔路径 and CAShape层 clockWiseLayer CAShapeLayer alloc init CGFloat startAngle M PI 2 CGFloat endAngl
  • 切换到工作区并在 Xcode 中添加 CocoaPods 后提交 git 吗?

    我刚刚在 Xcode 5 中将 CocoaPods 添加到我当前的项目中 当然 CocoaPods 创建了一个工作区 并且我已在 Xcode 中启动了该工作区 我在工作区中看到了我的项目和 Pods 项目 我的项目从第一天起就处于源代码控制
  • 从 RemoteIO 保存音频的示例?

    我进行了搜索 但没有找到任何从 RemoteIO 音频单元保存音频的好示例或教程 我的设置 使用 MusicPlayer API 我有几个 AUSamplers gt MixerUnit gt RemoteIO 音频播放效果很好 我想添加将
  • 如何使用 ZBar 读取器的 scanCrop 属性?

    我正在使用 iPhone 的 ZBar SDK 来扫描条形码 我希望阅读器仅扫描特定的矩形而不是整个视图 为此需要将阅读器的 scanCrop 属性设置为所需的矩形 我很难理解必须设置的矩形参数 有人可以告诉我如果在纵向视图上它的坐标是 我
  • 为了支持 iPhone 5 的更长屏幕,需要检查什么? [复制]

    这个问题在这里已经有答案了 可能的重复 iPhone 5屏幕尺寸如何处理 https stackoverflow com questions 12396545 how to deal with iphone 5 screen size iP
  • 如何将十六进制数组转换为 UIImage?

    有几个与使用 P25mi 动态打印图像相关的未解答问题 没有一个得到公认的答案 下面有几个链接 如何将图像转换为位图代码以便在 iPhone 中进行蓝牙打印 https stackoverflow com questions 1383828
  • 打印附加结构(swift 4)

    我有三个 textifled 用于将数据附加到结构中 如何打印我附加的内容 现在我收到一条错误消息 import UIKit class ViewController UIViewController IBOutlet var c UITe
  • iPhone SDK - 在后台线程中运行重复进程

    我有一个iPhone我想在其中每隔一段时间在后台执行一个方法的应用程序1第二 所以在我的主线程中 我有以下代码UIViewController viewDidLoad NSTimer timerWithTimeInterval 1 0 ta
  • 如何在 EKRecurrenceRule 中设置一周中某一天的数组?

    我想在用户选择的特定日期每周添加事件 可以是一个或多个 也可以是一整天 我将用户选择的日期值存储在模型类变量中 但是 当我添加事件并选择日期时 假设今天是星期一 我选择星期二和星期三并保存 然后我查看周一和周三添加的 iPhone 日历 我
  • 增加 NSData 的长度

    基本上 我有一个 46 个字符的 NSString 我将其转换为 NSData 我需要将字符串填充到 48 个字符 仅在 NSString 末尾添加 是行不通的 所以 我只是使用以下方法增加了 NSData 的长度 NSString str
  • 如何使导航栏透明并淡出,就像 iPhone 中的照片应用程序一样

    我是 iPhone 编程新手 有人可以帮我吗 我想在iPhone中开发一个类似照片应用程序的应用程序 如何使导航栏和工具栏透明并淡出 就像 iPhone 中的照片应用程序一样 感谢你 UINavigationBar继承自UIView 所以你
  • 应用未能及时恢复

    我在一个非常具体的场景中遇到 未能及时恢复 崩溃 我认为与看门狗相关 仅在从后台恢复时 并且仅在进入后台后在很短的时间内执行此操作 a最多几秒钟 这似乎是相关的崩溃日志 Incident Identifier E30F2238 5B15 4
  • iOS 发送 iMessage 尽可能简单

    我希望能够以编程方式发送 iMessage 除了调用一个将文本发送到带有消息的号码的函数之外 无需执行任何其他操作 这两个消息都是文本框 我真的很感激一些示例代码 因为我在网上搜索过 但我发现没有任何帮助 这不适用于商业应用程序 仅适用于我
  • 如何使用 afnetworking 在后台上传任务

    我正在尝试使用 AFNetworking 上传大文件 并在应用程序处于后台时继续上传 我可以很好地上传文件 但是当我尝试使用后台配置时 应用程序崩溃并显示以下堆栈跟踪 异常 EXC BAD ACCESS 代码 1 地址 0x8000001f
  • 通用类不会将委托调用转发给具体子类

    鉴于以下情况 protocol EntityType var displayString String get extension String EntityType var displayString String return self

随机推荐

  • C#:创建单个机器人服务以支持多个机器人应用程序

    该代码位于该网站上https www microsoft com reallifecode 2017 01 10 creating a single bot service to support multiple bot applicati
  • 没有为 Rack::Session::Cookie 警告提供秘密选项?

    我在 Fedora 17 下运行 Rails 3 2 3 Ruby 1 9 当我运行时 我收到此警告rails s 我该如何解决 安全警告 没有向 Rack Session Cookie 提供秘密选项 这构成了安全威胁 强烈建议您 提供一个
  • C++ 类中的成员是否保证是连续的?

    C 中的类成员是否保证是连续的 我尝试使用几乎所有流行的 C 编译器运行以下代码 并且all其中的结果是 4 它是变量 y 的相对地址 这是巧合 还是语言规范保证如此 难道编译器不会让成员 x 和 y 与类基本地址连续 彼此连续吗 请注意t
  • HTML5 - 拖放 div 和内部图像

    我有这种类型的元素 div style margin 20px background red height 400px width 400px a href target blank img style margin 40px src ht
  • 内存错误 Numpy/Python 欧几里得距离

    我正在尝试使用 numpy 和 python 运行 K 均值聚类算法 但如果我使用较大的 K 值 任何大于 10 的值似乎都会导致错误 就会不断遇到内存错误 我有两个大小为 42000 784 数据集 和 K 784 质心 的 numpy
  • 动态更改反应模式数据

    我有一个父组件 App js和一个子组件 MealModal js 当用户单击特定的餐食卡时 它会引发一个模式 该模式应显示有关餐食的更多信息 因此 我尝试找到一种方法来动态更改模态数据 具体取决于单击的餐卡 我尝试将餐食 ID 传递给on
  • 如何在循环中使用 woocommerce 数据属性

    我有一个自定义产品类型和自定义循环用于列出 woocommerce 产品 query args array post type gt product tax query gt array array taxonomy gt product
  • 在 64 位 Windows 10 上安装 OpenSSL for MSVC2017

    pro LIBS LC Qt Tools OpenSSL Win x86 lib llibssl LIBS LC Qt Tools OpenSSL Win x86 lib llibcrypto INCLUDEPATH C Qt Tools
  • 在 Windows 上使用 php 和 pear 发送邮件

    我正在尝试使用 php 脚本发送电子邮件 但收到错误这是我的代码 我正在使用 xampp netbeans 和 windows 我在 php ini 文件中包含了 pear 但仍然有错误任何想法 require once Mail php
  • rapply 到 R 中的嵌套列表

    我无法对嵌套列表进行说唱 以下是列表中一个元素的示例结构 F01 List of 7 0 data frame 16 obs of 3 variables lengths Factor w 8 levels 1 2 4 5 1 2 3 4
  • 生成_id即可。 MongoDB 中的 ObjectId 自动生成

    我正在开发一个创建永久链接的应用程序 我不知道如何将文档保存在 MondoDB 中 两种策略 ObjectId 自动生成 MongoDB 自动生成 id 我需要创建一个索引permalink字段 因为我通过永久链接获取信息 我还可以使用以下
  • 如何知道一个标签是否包含一个值或另一个标签?

    我在 java 中使用 DOM 表示 如何区分 xml 标签内部是否有值或是否有另一个嵌入标签 例如 我可以有
  • (char *) x 或 (void *) z 是什么意思?

    I know char x意味着指向 char 的指针 但我对什么感到困惑 char x means 这是一个演员阵容 您正在指示编译器处理x就好像它是一个char 无论其真实类型如何 仅当您真正知道自己在做什么时才应使用强制转换 对于某些
  • CSS3 多重变换

    我有一个 css3 动画 我使用下面的代码在 X 轴上旋转立方体 webkit keyframes spin2 from webkit transform rotateX 135deg to webkit transform rotateX
  • 安装因错误而失败 (Eclipse)

    当我尝试安装安装完成时出现错误 安装失败并出现错误 显示日志 即使我以管理员身份运行它也会发生这种情况 我使用的是 Windows 7 Professional 64 位 当我单击显示日志时 这就是我的情况看 2017 04 03 20 3
  • Apache-Ignite 集成作为 Hibernate 二级缓存未启动?

    我正在尝试将 Apache Ignite 设置为我的项目中的第二级 Hibernate 缓存提供程序 但我遇到了一个奇怪的异常 配置如下 POM xml Added
  • ggplot 中其他点的图例

    举这个问题的例子 Link 我想问是否可以在图例中添加额外的蓝点 dat lt data frame cond rep c A B each 10 xvar 1 20 rnorm 20 sd 3 yvar 1 20 rnorm 20 sd
  • 如何将变量从 php 发送到 Android 应用程序?

    大家好 我当前的 Android 应用程序中有一个活动 其中有一个网络视图 我想知道如何从该网站上的 php 获取变量并将其存储到我的 android 应用程序上的变量中 是的 我控制该网站 并且具有完整的编辑功能 我会解释一般需要做的事情
  • 在 OSX 上隐藏 Tkinter 应用程序的控制台

    当我启动基于 GUI Tkinter 的应用程序时 我试图隐藏终端 但是当我双击 OSX 上的 app py 文件时 会出现终端窗口 我尝试将扩展名更改为 pyw 并尝试使用 usr bin pythonw 启动它 但无论如何 终端窗口仍然
  • 无法快速移动键盘视图iOS9

    我需要实现一个拒绝键盘 向下滑动以拒绝 就像 iOS 上的股票消息应用程序中的键盘一样 我有这段代码来获取键盘视图 func keyboardWillShowWithNotification notification NSNotificat