Я нужен совет о том, как сделать это (лучший способ практики):чат Экран/Window Layout Design
Я использую XCode 6.1.1 с помощью Swift с autolayout Enabled. Так что на картинке я уже установил макет таким образом. Обратите внимание, что в Scrollview, я положил UITableView
вместе с другим UIView
, которые содержат UITextField
в нем
я уже это реализовать: How to make a UITextField move up when keyboard is present?
Так вот мой код:
func registerForKeyboardNotifications()
{
NSNotificationCenter.defaultCenter().addObserver(self, selector: "keyboardDidShow:", name: UIKeyboardDidShowNotification, object: nil)
NSNotificationCenter.defaultCenter().addObserver(self, selector: "keyboardDidHide:", name: UIKeyboardDidHideNotification, object: nil)
}
func keyboardDidShow(aNotification: NSNotification)
{
var info: NSDictionary = aNotification.userInfo!
var kbSize: CGSize = (info.objectForKey(UIKeyboardFrameBeginUserInfoKey)?.CGRectValue() as CGRect!).size
var contentInsets: UIEdgeInsets = UIEdgeInsetsMake(0.0, 0.0, kbSize.height, 0.0)
svBody.contentInset = contentInsets
svBody.scrollIndicatorInsets = contentInsets
self.view.layoutIfNeeded()
}
func keyboardDidHide(aNotification: NSNotification)
{
var contentInsets: UIEdgeInsets = UIEdgeInsetsZero
svBody.contentInset = contentInsets
svBody.scrollIndicatorInsets = contentInsets
self.view.layoutIfNeeded()
}
Проблема заключается в том когда я запускаю его, я также могу прокрутить мой viewBottom
за клавиатурой, который мне не нужен.
То, что я пытаюсь достичь являются:
- мне нужно
viewBottom
наклеить на верхней части клавиатуры - Только
myTable
, который можно прокручивать
Как я могу сделать это наилучшим образом?