Tag: 倾听者

Swift NSNotificationCenter?

我试图让UITextViewTextDidChangeNotification工作。 我是使用NSNotificationCenter的新手,所以我很难理解到底发生了什么。 我在故事板中有一个UITextView,并且在ViewController类中为它创build了一个IBOutlet,并将其命名为textView。 这是我的viewDidLoad函数: override func viewDidLoad() { super.viewDidLoad() origin = self.view.frame.origin.y if let field = textView{ field.placeholder = placeholder field.layer.cornerRadius = 8 field.layer.borderWidth = 0.5 field.layer.borderColor = UIColor.grayColor().CGColor NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyPressed:"), name:UITextFieldTextDidChangeNotification, object: nil); } NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillShow:"), name:UIKeyboardWillShowNotification, object: nil); NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillHide:"), name:UIKeyboardWillHideNotification, object: nil); } 键盘通知很好用。 据我了解,他们调用与select器相同的名称的函数。 那是对的吗? 还是有更多的事情在这里? 我做了一个叫做keyPressed的函数,它把一个NSNotification作为参数,但是这个函数从来没有被调用,而当我使用键盘的时候,keyboardWillShow和keyboardWillHide函数被调用。 有人可以解释发生了什么事吗?