gpt4 book ai didi

iOS 9 UIInputViewController dismissKeyboard

转载 作者:行者123 更新时间:2023-11-28 09:27:55 26 4
gpt4 key购买 nike

我有一个自定义的 UIInputViewController,我们称它为 MyInputViewController。我将文本字段的输入 View 设置为我的输入 Controller 的单例实例的 View 。插入、删除和移动光标工作正常,但是当我在输入 View Controller 中调用 self.dismissKeyboard() 时(方法被调用,print() 写入控制台),它没有做任何事情.

有什么问题吗?它在几天前开始工作,但我不记得可能是什么错误。

class MyInputController: UIInputViewController {

// SINGLETON:
static let keyboard: MyInputController = MyInputController()

class func setSharedKeyboardForTextField(textField: UITextField) {
textField.inputAccessoryView = nil
textField.inputView = keyboard.view
}

// MARK: initializers
private init() {
super.init(nibName: nil, bundle: nil)
}

required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}

override func loadView() {
super.loadView()
self.view.translatesAutoresizingMaskIntoConstraints = false=
}

override func viewDidLoad() {
//set up buttons
}

// MARK: helper functions
func inputText() -> String {
return (self.textDocumentProxy.documentContextBeforeInput ?? "") + (self.textDocumentProxy.documentContextAfterInput ?? "")
}

// MARK: animations
private func grow(sender: MathematicalKeyboardKey) {
sender.superview?.bringSubviewToFront(sender)
UIView.animateWithDuration(0.1) { () -> Void in
sender.transform = scaleTransform
}
}

private func shrink(sender: MathematicalKeyboardKey) {
sender.superview?.sendSubviewToBack(sender)
UIView.animateWithDuration(0.1) { () -> Void in
sender.transform = CGAffineTransformIdentity
}
}

// MARK: actions
func keyTouched(sender: MathematicalKeyboardKey) {
// works
grow(sender)
}

func keyExit(sender: MathematicalKeyboardKey) {
// works
shrink(sender)
}

func resign(sender: MathematicalKeyboardKey) {
// called but doesn't work
dismissKeyboard()
shrink(sender)
}

func keyPressed(sender: MathematicalKeyboardKey) {
// works
self.textDocumentProxy.insertText(sender.insertion)
shrink(sender)
}

func remove(sender: MathematicalKeyboardKey) {
// works
self.textDocumentProxy.deleteBackward()
shrink(sender)
}

func clear(sender: MathematicalKeyboardKey) {
// works
while self.textDocumentProxy.hasText() {
self.textDocumentProxy.deleteBackward()
}
shrink(sender)
}

func moveLeft(sender: MathematicalKeyboardKey) {
// works
self.textDocumentProxy.adjustTextPositionByCharacterOffset(-1)
shrink(sender)
}

func moveRight(sender: MathematicalKeyboardKey) {
// works
self.textDocumentProxy.adjustTextPositionByCharacterOffset(1)
shrink(sender)
}

最佳答案

你可以使用;

 resignFirstResponder()

方法代替

 dismissKeyboard()

方法。

@IBAction func hideKeyboard(sender: UIButton) {

resignFirstResponder()

}

关于iOS 9 UIInputViewController dismissKeyboard,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32632697/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com