1
我有一個奇怪的問題,移動我的意見,爲傳入的鍵盤騰出空間。基本上,在我的應用程序中,有一個執行segue的按鈕,該按鈕以模態方式嵌入導航控制器內部的視圖控制器的新實例。在第一個例子中,我的鍵盤代碼完美地工作。的代碼如下:(Swift)移動視圖的方式鍵盤?
func keyboardWillShow(sender: NSNotification) {
if !keyBoard {
self.view.frame.origin.y -= 200
}
keyBoard = true
}
func keyboardWillHide(sender: NSNotification) {
if keyBoard {
self.view.frame.origin.y += 200
}
keyBoard = false
}
在viewDidLoad中執行以下操作:
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillShow:"), name: UIKeyboardWillShowNotification, object: nil)
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillHide:"), name: UIKeyboardWillHideNotification, object: nil)
我還添加了tapGestureRecognizer使得當鍵盤是表示與用戶的任意位置點擊屏幕上,鍵盤關閉:
let tapped = UITapGestureRecognizer(target: self, action: "closeKeyboard")
tapped.numberOfTapsRequired = 1
self.view.addGestureRecognizer(tapped)
和
func closeKeyboard() {
self.view.endEditing(true)
}
所以在第一個例子中,這段代碼完美地工作。然而,在我回去之後,調用self.dismissViewControllerAnimated,並且,一旦我在原始屏幕上,再次單擊調用performSegue的按鈕並推送同一視圖控制器的新實例,代碼就會中斷並且視圖不再移出鍵盤的方式,但只是一些口吃和反彈一點點。我不知道爲什麼會發生這種情況,任何幫助將非常感激。謝謝!
是的方法被調用。他們似乎不再以同樣的方式工作 – Jared