ios - 如何解决 Swift 3 中的键盘问题?

标签 ios xcode swift3 keyboard

问题是,当我尝试在文本字段中书写时,键盘会遮盖它们。如何向上滚动文本字段以查看我在写什么。我有以下代码行来启用返回键并在您触摸其他位置时隐藏键盘:

override func didReceiveMemoryWarning() {
  super.didReceiveMemoryWarning()
  // Dispose of any resources that can be recreated.

}

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
    self.view.endEditing(true)
}

func textFieldShouldReturn(_ textField: UITextField) -> Bool {
    self.view.endEditing(true)
    return false
}

最佳答案

How can I scroll the text field up to see what am I writing

这可以通过两种方式实现:

  1. 您可以像@Taichi Kato 一样在键盘隐藏和显示上以编程方式管理您的框架
  2. 您可以集成具有相同目的的库。一个这样的库是 IQKeyBoardManager,它的 Swift 变体是 IQKeyboardManagerSwift 您可以在 GitHub 上找到它和 cocoapods

要实现,请执行以下步骤:

SWIFT 3

  1. 只需从 Github 或 cocoapods 安装 IQKeyboardManagerSwift

  2. Appdelegate

    中导入 IQKeyboardManagerSwift
  3. AppDelegate didFinishLaunchingWithOptions 方法中添加以下代码行。

    IQKeyboardManager.sharedManager().shouldResignOnTouchOutside = true;
    

objective-C

  1. 通过任何媒体安装IQKeyBoardManager
  2. Appdelegate 中导入 #import "IQKeyboardManager.h"
  3. AppDelegate didFinishLaunchingWithOptions 方法中添加以下代码行。

    IQKeyboardManager.sharedManager.shouldResignOnTouchOutside = true;
    

这是完成。这是您唯一需要编写的代码。

关于ios - 如何解决 Swift 3 中的键盘问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40839366/

相关文章:

ios - 滚动时从 'cellForRowAtIndexPath' 保存到 CoreData 崩溃

ios - 全局向导航栏应用渐变并处理方向变化

ios - Xcode Organizer - 服务无效

swift - 如何根据 API 级别从 Swift 中的两个不同类派生一个类?

ios - Swift 3 - 将 AudioStreamBasicDescription 字段初始化为零

swift - 来自不同类的 IOS Swift 调用函数得到 nil

iOS - 当 UITextField 为空时检测键盘中的退格键

ios - "dyld: Symbol not found:"静态库中 iOS 6 独有的类

ios - 主要用于 iOS/swift/xcode 的图标库

ios - 在 xcconfig 文件中定义 url 的问题