Hızlı bir şekilde bir uygulama oluşturuyorum ve ben bir dokunma duyarlılığı tanıyıcı ve klavyenin görünmesini dinleyen bir NSNotification eklediğim bir görünüm denetleyicisini alt sınıflara ayırıyorum. KlavyeninWillShow için seçiciyi temel görünüm denetleyicimdeki bir işleve koydum. Ancak, görüntü denetleyicimi alt sınıflara ayırdığımda ve klavye şovum olduğunda, uygulamam seçiciyi bulamadığını belirten bir NSException ile sona erdi. Neden böyle olduğunu ve nasıl tamir edebileceğimi açıklayabilir mi?Swift: ViewController alt sınıflandırma ve hedef ekleme ile?
override func viewDidLoad() {
super.viewDidLoad()
setNotificationListers()
setTapGestureRecognizer()
}
deinit {
NSNotificationCenter.defaultCenter().removeObserver(self)
}
func setNotificationListers() {
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillShow:"), name: UIKeyboardWillShowNotification, object: nil)
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillHide:"), name: UIKeyboardWillHideNotification, object: nil)
}
func setTapGestureRecognizer() {
let tapped = UITapGestureRecognizer(target: self, action: "closeKeyboard")
tapped.numberOfTapsRequired = 1
self.view.addGestureRecognizer(tapped)
}
func closeKeyboard() {
self.view.endEditing(true)
}
func keyboardWillShow() {
self.view.frame.origin.y += CGFloat(keyboardHeight)
}
func keyboardWillHide() {
self.view.frame.origin.y -= CGFloat(keyboardHeight)
}
benim alt sınıfta her şeyi geçersiz kılar vermedi: Burada
benim taban görünümü kumandam işlevdir. Ne devralınacak ve ne olmayacak?Yardımlarınız için şimdiden teşekkür ederiz!