Я все еще в процессе (быстрого) обучения, поэтому, пожалуйста, простите любые ужасные промахи с моей стороны. Я просмотрел все возможные вопросы в этом контексте и пробовал все разные предложения, идеи и перестановки синтаксиса, который мог найти. Пока не повезло. Ниже код должен просто позволить мне реагировать на изменения состояния клавиатуры:swift: наблюдатель на клавиатуре не работает
class ViewController: UIViewController {
override func viewWillAppear(animated: Bool) {
NSNotificationCenter.defaultCenter().addObserver(self, selector: "keybShow:",
name: UIKeyboardWillShowNotification, object: nil)
NSNotificationCenter.defaultCenter().addObserver(self, selector: "keybHide:",
name: UIKeyboardWillHideNotification, object: nil)
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
func keybShow(notification: NSNotification) {
println("kb show")
}
func keybHide(notification: NSNotification) {
println("kb hide")
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
override func viewWillDisappear(animated: Bool) {
NSNotificationCenter.defaultCenter().removeObserver(self)
}
Но он падает каждый раз, когда с
Нагрузочным приложением из-за неперехваченное исключение «NSInvalidArgumentException», причина: «- [moreKeybNotifications. ViewController keybShow]: непризнанные селектор направил к экземпляру 0x7fa130710e60' »
при касании/щелкать текстовое поле
.Я даже прокомментировал 2 функции keybShow и keybHide в какой-то момент, тот же самый сбой все же произошел. Любой вход был бы признателен!
Просьба также войти в привычку вызова супер в '' viewWillAppear' и viewWillDisappear' (и 'did' эквивалентов по этому вопросу). –
Да, извините, что Project/code был только для проверки этой проблемы, я обычно делаю это ... – theaxeH