Próbowałem dodać kod, aby przesunąć widok w górę, gdy pojawia się klawiatura, jednak mam problemy z próbą przetłumaczenia przykładów Objective-C na Swift. Zrobiłem pewne postępy, ale utknąłem na jednej konkretnej linii.
Oto dwa samouczki / pytania, które obserwowałem:
Jak przenieść zawartość UIViewController w górę, gdy klawiatura pojawia się za pomocą Swift http://www.ioscreator.com/tutorials/move-view-when-keyboard-appears
Oto kod, który obecnie mam:
override func viewWillAppear(animated: Bool) {
NSNotificationCenter.defaultCenter().addObserver(self, selector: "keyboardWillShow:", name: UIKeyboardWillShowNotification, object: nil)
NSNotificationCenter.defaultCenter().addObserver(self, selector: "keyboardWillHide:", name: UIKeyboardWillHideNotification, object: nil)
}
override func viewWillDisappear(animated: Bool) {
NSNotificationCenter.defaultCenter().removeObserver(self)
}
func keyboardWillShow(notification: NSNotification) {
var keyboardSize = notification.userInfo(valueForKey(UIKeyboardFrameBeginUserInfoKey))
UIEdgeInsets(top: 0, left: 0, bottom: keyboardSize.height, right: 0)
let frame = self.budgetEntryView.frame
frame.origin.y = frame.origin.y - keyboardSize
self.budgetEntryView.frame = frame
}
func keyboardWillHide(notification: NSNotification) {
//
}
W tej chwili otrzymuję błąd w tej linii:
var keyboardSize = notification.userInfo(valueForKey(UIKeyboardFrameBeginUserInfoKey))
Gdyby ktoś mógł mi powiedzieć, jaki powinien być ten wiersz kodu, resztę powinienem sam wymyślić.