UITextViewTextDidChangeNotification을 사용하려고합니다. NSNotificationCenter를 처음 사용하기 때문에 정확히 무슨 일이 벌어지고 있는지 이해하는 데 어려움을 겪고 있습니다. 나는 스토리 보드에 UITextView를 가지고 있으며, 그것의 내 ViewController 클래스에 IBOutlet을 만들고 textView라고 불렀다.스위프트 NSNotificationCenter?
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);
}
키보드 통지가 잘 작동 :
이 내있는 viewDidLoad 함수이다. 내 이해를 위해 선택기와 같은 이름의 함수를 호출합니다. 그 맞습니까? 아니면 여기에 더 많은 일이 있습니까? 나는 NSNotification을 매개 변수로 취한 keyPressed라는 함수를 만들었지 만 그 함수는 결코 호출되지 않았다. 반면 키보드를 사용할 때 keyboardWillShow 및 keyboardWillHide 함수가 호출된다. 누군가 무슨 일이 일어 났는지 설명 할 수 있습니까?
있습니까 나는 이것을 사용하는 것으로했다 if 문이 실제로 실행되는지 확인하십시오. 나는 println ("Working")이나 뭔가를 거기에 넣을 것이다. – vegather
나는 그것을 디버깅했으며, 실행되고 있다는 것을 알고있다. 나는 그것을 알아 냈다. 알림을 게시해야했습니다 ... – tdon
정확히 무엇이 문제입니까? 또한 솔루션 편집을 제거하십시오. 해결책을 찾았 으면 답변으로 추가하고 대답을 수락하십시오. 이것이 스택 오버 플로우가 작동하는 방식입니다. – jww