ios - 以编程方式在 Swift 中获取键盘框架

标签 ios swift

我有一个 UITableView,我想在其中显示键盘。这隐藏了我的最后一行,因此我想获取键盘框架,然后计算单元格的大小。

如何在 Swift 中以编程方式获取键盘的框架?

最佳答案

您需要在 View Controller 中收听 UIResponder.keyboardWillChangeFrameNotification 通知:

let observer = NotificationCenter.default.addObserver(forName: UIResponder.keyboardWillChangeFrameNotification, object: nil, queue: nil) { notification in
    let frame = notification.userInfo![UIResponder.keyboardFrameEndUserInfoKey] as! CGRect
    // do something with the frame
}

并且不要忘记稍后删除观察者,这样它就不会导致任何内存问题(例如强引用循环甚至崩溃):

NotificationCenter.default.removeObserver(observer)

关于ios - 以编程方式在 Swift 中获取键盘框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25851626/

相关文章:

iphone - UIViewController 中的继承

ios - 如何删除NSMutableArray的数据

ios - 快速解析嵌套的 JSON 属性

swift - 知道为什么这个函数正在写入/更新表中的第一个单元格而不是 CFQuery TableViewController 中选定的单元格吗?

ios - UI 处理导致音频故障 - 音频应该在后台线程上播放吗?

ios - 比较数据库和Json的值并显示结果

objective-c - 'NSInvalidArgumentException',原因 : '-[__NSArrayI leftCapWidth]

iphone - 转到应用程序中的第一个 View Controller

iOS - 在应用程序崩溃前截取屏幕截图

ios - graphRequest.start 不返回任何数据