如何获取键盘的高度?

2023-11-24

不同 iOS 设备上的键盘高度有所不同。有谁知道如何以编程方式获取设备键盘的高度?


Swift

您可以通过订阅来获取键盘高度UIKeyboardWillShowNotification通知。 (假设您想在显示之前知道高度是多少)。

Swift 4

NotificationCenter.default.addObserver(
    self,
    selector: #selector(keyboardWillShow),
    name: UIResponder.keyboardWillShowNotification,
    object: nil
)
@objc func keyboardWillShow(_ notification: Notification) {
    if let keyboardFrame: NSValue = notification.userInfo?[UIResponder.keyboardFrameEndUserInfoKey] as? NSValue {
        let keyboardRectangle = keyboardFrame.cgRectValue
        let keyboardHeight = keyboardRectangle.height
    }
}

Swift 3

NotificationCenter.default.addObserver(
    self,
    selector: #selector(keyboardWillShow),
    name: NSNotification.Name.UIKeyboardWillShow,
    object: nil
)
@objc func keyboardWillShow(_ notification: Notification) {
    if let keyboardFrame: NSValue = notification.userInfo?[UIKeyboardFrameEndUserInfoKey] as? NSValue {
        let keyboardRectangle = keyboardFrame.cgRectValue
        let keyboardHeight = keyboardRectangle.height
    }
}

Swift 2

NSNotificationCenter.defaultCenter().addObserver(self, selector: "keyboardWillShow:", name: UIKeyboardWillShowNotification, object: nil)
func keyboardWillShow(notification: NSNotification) {
        let userInfo: NSDictionary = notification.userInfo!
        let keyboardFrame: NSValue = userInfo.valueForKey(UIKeyboardFrameEndUserInfoKey) as! NSValue
        let keyboardRectangle = keyboardFrame.CGRectValue()
        let keyboardHeight = keyboardRectangle.height
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何获取键盘的高度? 的相关文章

  • iOS swift 应用程序启动时出现黑屏

    我有个问题 当我启动我的应用程序时 会看到黑屏几秒钟 然后出现启动屏幕 我的启动画面不是默认的 我使用了视图控制器 因为我的启动画面有一个动画 我搜索了一个解决方案 我得到了这个 在我的闪屏加载 iPhone 之前出现黑屏 https st
  • 如何在 Safari 和 Native App 之间共享上下文?

    我有需要通过 Safari 设置一些上下文 上下文标记 然后从本机 iOS 应用程序读取该上下文 这样做的最佳实践是什么 到目前为止的一些想法 在 HTML 5 数据库中设置上下文 但我不确定这是否有效 因为该数据库可能只能从 Safari
  • 如何从子 UICollectionview 内部获取 UITableView 的一部分

    我有一个UITableView with a UICollectionView在其每一行中 如下图所示 source https ashfurrow com blog putting a uicollectionview in a uita
  • 如何获取多点触摸 UITapGestureRecognizer 的多个位置

    我的视图中有一个 UITapGestureRecognizer 我可以使用下面的代码很好地获取其触摸的位置 现在 如果我将此识别器的触摸次数更改为 2 或更多 它仍然会为我提供一个位置 如何获得两次触摸的两个位置 tapGesture lo
  • 当我启动项目时没有 viewcontroller.swift 文件 [重复]

    这个问题在这里已经有答案了 我尝试启动该项目并使用视图控制器 但我没有看到它 仅appdelegate和scenedelegate和contentview 下面的代码应该添加到视图控制器中 但我不知道添加到哪里 它不断给我一条错误消息 指出
  • 如何执行 UIAlertAction 的处理程序?

    我正在尝试编写一个帮助程序类以允许我们的应用程序支持两者UIAlertAction and UIAlertView 然而 当写alertView clickedButtonAtIndex 方法为UIAlertViewDelegate 我遇到
  • 如何创建一个仅接收一次信号,然后自行取消订阅/释放的 ReactiveCocoa 订阅者?

    我目前正在注册一个属性信号的订阅者 如下所示 RACAble self test subscribeNext id x NSLog signal fired 默认功能是每次 self test 更改时都会触发 但我只想触发一次 然后取消订阅
  • 我以前没见过的 CGRect 语法

    我在一些示例代码中看到了下面的语法 但不确定我是否理解它 CGRect imageRect CGRect size baseImage size 这只是初始化的一种简写方式吗CGRect相当于 CGRect imageRect CGRect
  • UINavigationControllerDelegate的didShowViewController方法被调用了两次

    class ViewController UIViewController UINavigationControllerDelegate override func viewDidLoad super viewDidLoad navigat
  • 设置使用 iPhone 相机拍摄的图像的类型

    如果我们使用 iPhone 相机拍摄照片 图像将默认以 JPEG 格式保存 我想以其他格式 例如 PNG 保存捕获的图像 是否可以 当我们从应用程序调用 iPhone 相机时 是否可以通过代码执行此操作 我们可以设置捕获图片后必须保存的图像
  • NSPredicate 查询不包含特定字符串

    对这个问题进行了高低查找 但找不到我的答案 我正在查询核心数据以查找不等于指定字符串的所有记录 例如 所有不等于当前会话ID的记录 我已经尝试过这些但无济于事 NSPredicate predicate NSPredicate predic
  • SwiftUI NavigationView 看不到图像

    我有一个代码并制作 NavigationLink 按钮 我编写文本和图像 但我的图像看不到 请帮助我 VStack Image Coachs resizable aspectRatio contentMode fill frame widt
  • iPhone - 创建图像网格列表

    我正在开发一个应用程序 它从网站获取图像并使用网格视图向用户显示 例如Apple的照片应用程序 当您点击图像时 我会推送一个显示图像信息和其他内容的视图控制器 实现这个的更好方法是什么 我想到了自定义 UITableViewCell 我见过
  • UITextField 字体大小在开始或停止输入字符时发生变化

    我见过很多线程 但没有找到解决这个问题的任何具体解决方案 我使用 XIB 创建了 UITextfield 尚未以编程方式对该字段执行任何操作 一旦我开始打字 文本字段的字体就会改变 一旦我将焦点移出文本字段 并且随着键盘消失 字体大小就会减
  • 如何更改 UISwitch 关闭状态的默认颜色?

    我想更改 UISwitch 中 onTintColor 的颜色以表示关闭状态 切换位于表格视图中 并且以编程方式进行切换 settingsSwitch setBackgroundColor UIColor whiteColor settin
  • iOS UITableViewCell 配件在左侧?

    对于我的应用程序 我想要一些可以同时具有复选标记和详细信息披露按钮的单元格 也就是说 我希望它们看起来与 iOS 设置中的 Wi Fi 网络选择一模一样 左侧的复选标记 中间的内容 右侧的详细信息披露按钮 有没有正确的方法来做到这一点 或者
  • iOS 上每个选项的带有图像的操作表

    有没有办法在 iOS 上将图像添加到操作表中 与苹果在应用程序商店或苹果音乐应用程序上所做的一样 我对苹果文档的基本搜索表明我没有在操作表中子类化或添加子视图 UIActionSheet 并非设计为子类化 也不应向其层次结构添加视图 苹果文
  • 编写支持 iOS 3.1.3 和 iOS 4.x 的 iOS 应用程序时的陷阱

    我想编写一个可以在 iOS 3 1 3 到 iOS 4 1 上运行的应用程序 我知道如何设置部署目标和基础 SDK 阅读 Apple 文档后 它很大程度上依赖于检查类是否可用和 或实例是否响应特定选择器 现在我的问题是 如果 Apple 从
  • Swift 中的弹出视图

    我有一个弹出视图 没有选项卡栏 它弹出到带有选项卡栏的视图控制器 在带有选项卡栏的视图控制器中 我设置了一个单击按钮 以便弹出视图控制器 IBAction func PopUpClicked sender UIButton gt Void
  • 使用 JavaScript 从 URL 变量读取来加载不同的 CSS 样式表

    我试图在我的 WordPress 博客上使用两个不同的样式表 以便在通过 Web 访问页面时使用一个样式表 而在通过我们的 iOS 应用程序访问博客内容时使用另一个样式表 现在 我们将 app true 附加到来自 iOS 应用程序的 UR

随机推荐

  • 在 LLDB 调试器中显示变量属性的值?

    我正在使用 Log Message 操作的断点 并且我想打印 NSIndexPath 的行 所以我尝试 cell row indexPath row 但什么也没有打印出来 我还尝试使用调试器命令 expr void NSLog indexP
  • psql:无法将主机名“somePostgres”转换为地址:名称或服务未知

    我正在 docker 中构建 java spring mvc 应用程序 并且 dokefile 构建涉及与 postgres 容器交互 每当我跑步时docker compose updockerfile 中与 postrges 交互的步骤有
  • 使用 lift-json 将 Json 值提取为 Map

    lift json 的文档表明我应该能够调用 values 来获取当前的 JObject 结构作为普通的 Scala Map 这种方法对我来说不起作用 因为 值 的返回类型是 json Values 而不是示例所示的 Map 我究竟做错了什
  • 运算符“>=”不能应用于“string”和“string”类型的操作数

    我在 C 中使用实体框架 我的代码是 var result ef services Where entry gt entry tarikhservice gt textBoxX1 Text entry tarikhservice lt te
  • AWS Athena (Presto) OFFSET 支持

    我想知道 AWS Athena 是否支持 OFFSET 对于 mysql 以下查询正在运行 但在 athena 中它给了我错误 任何例子都会有帮助 从员工中选择 其中 empSal gt 3000 LIMIT 300 OFFSET 20 A
  • 如何自定义 Hibernate @Size 错误消息以指示输入字段的长度

    我想自定义文本字段的错误消息以包含输入的实际字符数 我已经能够做到这一点 但对我的解决方案不满意 所以我想知道其他人做了什么来实现这一目标 春季4 1 2 休眠4 3 10 休眠验证器 5 1 3 字段注释 出于测试目的 仅限 10 个 实
  • 应用程序在 CoreData 保存时冻结

    我有一个 iPhone 应用程序 在保存 CoreData 时有时会冻结 然后不会重新启动 我确实有第二个线程使用数据库 但我认为我已经遵循该模式为该线程创建单独的上下文 这是重新启动后的崩溃报告 有任何想法吗 我尝试将其更改为仅使用一个线
  • Android OpenGL ES 2.0 内存中仅限制 16 个纹理?

    基本上 当我在 Android Studio 中使用 OpenGL ES 2 0 开发应用程序时 我遇到了一个无法解决的大问题 并且它已经困扰我大约一周了 因此 每当我在内存中加载超过 16 个 可能是 17 个任意大小的纹理 并尝试通过
  • iomanip 函数是如何实现的?

    一些标准iomanip函数带有一个参数 我想知道这是如何实现的 例如 我可以用函数做类似的事情吗 这确实是我需要的解决方案这个答案 但我不知道该怎么做 当我查找定义时setw函数例如在http en cppreference com它将返回
  • 多个下拉按钮 – 一次只能打开一个(JS/jQuery)

    我一直在尝试创建两个语言选择下拉按钮 我成功使用了这个 W3Schools 模板 然而 这个解决方案有两个缺点 1 您需要 每个下拉按钮一个脚本或对该脚本的修改 2 你可以同时打开两个下拉按钮 这是我不想要的 我找到了类似问题的解决方案he
  • Visual Studio 中 Ajax 和 JavaScript 库的 IntelliSense

    我知道使用 vsdoc js 文件智能感知 并且 jQuery 的那个很容易找到 还有哪些其他 JavaScript Ajax 和 DHTML 库拥有这些文件 在哪里可以找到这些文件 另外 是否有一个文档概述了 vsdoc js 文件的规范
  • 取消设置会话变量时出现问题

    我的网站上有一个用于邀请朋友的表格 这是一个简单的文本字段和一个提交按钮 如果出现错误 我会重定向回此页面并显示错误消息 如果它们是会话变量集 if isset SESSION invite error echo SESSION invit
  • 为什么我会收到关于初始化器不是常量的错误?

    我正在使用以下代码 const int X ORIGIN 1233086 const int Y ORIGIN 4728071 const int Z ORIGIN 4085704 const int xyzOrigin NUM DIMEN
  • Google App Engine 模型的自定义键 (Python)

    首先 我对 Google App Engine 还比较陌生 所以我可能做了一些愚蠢的事情 假设我有一个 Foo 模型 class Foo db Model name db StringProperty 我想用name作为每个人的唯一钥匙Fo
  • 如何在 C# 中返回通用列表集合?

    我有一些 linq to sql 方法 当它执行查询时 它返回一些匿名类型 我想将该匿名类型返回到我的服务层以对其执行一些逻辑和操作 虽然我不知道怎么退货 我以为我能做到 public List
  • 在 PyQt 中重写 QPaintEvents

    我正在尝试创建一个带有分隔线的 TextEdit 小部件 首先 我创建了一个MyTextEdit类 作为一个子类QTextEdit 并覆盖其paintEvent method import sys from PyQt4 QtGui impo
  • CUDA编译器无法编译简单的测试程序

    我正在尝试获取 NVIDIA 的 CUDA 设置并将其安装在我的配有 NVIDIA GEFORCE RTX 2080 SUPER 显卡的电脑上 经过几个小时的尝试不同的事情和大量的研究后 我已经让 CUDA 使用命令提示符工作 尽管尝试在
  • 如何在android中的自定义列表视图中单击按钮和列表视图项目单击

    我的列表视图中有 4 个项目 其中 3 个是文本视图 一个是按钮 在我的情况下 我必须从单个列表中打开 2 个新活动 从按钮第一次点击开始 从列表视图项目中单击第二个 但是当我在列表视图列表中添加按钮时 列表单击不起作用 我也无法处理按钮的
  • “预期位于:/usr/lib/libc++.1.dylib”:在 M1 MacBook Pro 上安装 Tensorflow

    我正在尝试在带有 M1 芯片的 MacBook Pro 上安装 Tensorflow 我的 MacBook 的操作系统是 MacOS Big Sur 版本 11 0 为了安装 Tensorflow 以便将其与 Python 一起使用 我遵循
  • 如何获取键盘的高度?

    不同 iOS 设备上的键盘高度有所不同 有谁知道如何以编程方式获取设备键盘的高度 Swift 您可以通过订阅来获取键盘高度UIKeyboardWillShowNotification通知 假设您想在显示之前知道高度是多少 Swift 4 N