UITextView - 键盘在拖动时关闭或交互关闭
UITextView - Keyboard Dismiss on Drag or Dismiss Interactively
我正在重构视图控制器以包含关闭键盘的功能。该布局有一个 UITextView 和一个工具栏(没有用户关闭键盘的屏幕外区域)见下文 -
在情节提要中,有一个选项可以在 UITextView 中以不同方式关闭键盘,我将其更改为拖动时关闭,或以交互方式关闭。我没有看到任何变化,也无法执行任何操作来关闭键盘。如何让键盘与 UITextView 交互关闭?
要使内置键盘关闭功能适用于 UIScollView
或其子类之一(例如 UITextView
),滚动视图需要能够滚动。如果文本视图中没有足够的文本来提供滚动,它不会执行键盘关闭。
不过,您可以打开垂直弹跳,然后它就会起作用。在界面构建器或代码集中检查 "Bounce Vertically" myTextView.alwaysBounceVertical = true
.
您可以自定义键盘并添加隐藏键盘的按钮。之后,当您点击屏幕时,键盘会出现,您可以再次书写。这是我的示例代码:
class ViewController: UIViewController {
@IBOutlet weak var myTextView: UITextView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
createToolbar(textField: myTextView)
}
func createToolbar(textField : UITextView) {
let toolbar = UIToolbar()
toolbar.barStyle = UIBarStyle.default
toolbar.sizeToFit()
let hidekeyboard = UIBarButtonItem(title: "Done", style: .plain, target: self, action: #selector(hidekeyboardd))
toolbar.items = [hidekeyboard]
myTextView.inputAccessoryView = toolbar
}
@objc func hidekeyboardd() {
myTextView.resignFirstResponder()
}
我正在重构视图控制器以包含关闭键盘的功能。该布局有一个 UITextView 和一个工具栏(没有用户关闭键盘的屏幕外区域)见下文 -
在情节提要中,有一个选项可以在 UITextView 中以不同方式关闭键盘,我将其更改为拖动时关闭,或以交互方式关闭。我没有看到任何变化,也无法执行任何操作来关闭键盘。如何让键盘与 UITextView 交互关闭?
要使内置键盘关闭功能适用于 UIScollView
或其子类之一(例如 UITextView
),滚动视图需要能够滚动。如果文本视图中没有足够的文本来提供滚动,它不会执行键盘关闭。
不过,您可以打开垂直弹跳,然后它就会起作用。在界面构建器或代码集中检查 "Bounce Vertically" myTextView.alwaysBounceVertical = true
.
您可以自定义键盘并添加隐藏键盘的按钮。之后,当您点击屏幕时,键盘会出现,您可以再次书写。这是我的示例代码:
class ViewController: UIViewController {
@IBOutlet weak var myTextView: UITextView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
createToolbar(textField: myTextView)
}
func createToolbar(textField : UITextView) {
let toolbar = UIToolbar()
toolbar.barStyle = UIBarStyle.default
toolbar.sizeToFit()
let hidekeyboard = UIBarButtonItem(title: "Done", style: .plain, target: self, action: #selector(hidekeyboardd))
toolbar.items = [hidekeyboard]
myTextView.inputAccessoryView = toolbar
}
@objc func hidekeyboardd() {
myTextView.resignFirstResponder()
}