在 TextView Edit Swift 3.0 上向上移动视图

问题描述 投票:0回答:2

我知道这个问题已经问过好几次了,但我正在寻找一个使用 Swift 3.0 的实现。需要明确的是,我有一个文本视图,而不是文本字段。

我尝试做这样的事情......

viewDidLoad()

NotificationCenter.default.addObserver(self, selector: Selector(("keyboardWillShow")), name:NSNotification.Name.UIKeyboardWillShow, object: nil);
NotificationCenter.default.addObserver(self, selector: Selector(("keyboardWillHide")), name:NSNotification.Name.UIKeyboardWillHide, object: nil);

然后我在 ViewController 中创建了这些方法:

func keyboardWillShow(sender: NSNotification) {
    self.view.frame.origin.y = -150
}

func keyboardWillHide(sender: NSNotification) {
    self.view.frame.origin.y = 0
}

选择文本视图时发生崩溃。

ios crash swift3
2个回答
2
投票

您需要修改添加观察者代码,如下所述。 根据 Swift 3 迁移指南,这是声明通知添加观察者应遵循的新方法。

代码:

    NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardWillShow), name: NSNotification.Name.UIKeyboardWillShow, object: nil)
    
    NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardWillHide), name: NSNotification.Name.UIKeyboardWillShow, object: nil)

我已经用文本视图和通知中心的演示代码检查了这一点。


0
投票

使用 https://github.com/hackiftekhar/IQKeyboardManager 并且不用关心键盘问题。如果您仍然想实现textview的默认行为,请指定崩溃。

© www.soinside.com 2019 - 2024. All rights reserved.