У меня UITextView вверху, UITextView в центре и UITextView внизу. Я хочу переместить вид вверх, когда клавиатура представляет, если используется нижний UITextView или центральный UITextView, но при использовании верхнего UITextView вид не должен перемещаться.
Как мне заставить это работать?
func showLoginKeyBoard()
{
NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillShow), name: UIResponder.keyboardWillShowNotification, object: nil)
}
@objc func keyboardWillShow(notification: NSNotification)
{
if let keyboardSize = (notification.userInfo?[UIResponder.keyboardFrameBeginUserInfoKey] as? NSValue)?.cgRectValue
{
if self.view.frame.origin.y == 0
{
self.view.frame.origin.y -= keyboardSize.height
}
}
}
func textViewDidBeginEditing(_ textView: UITextView)
{
if textView == centreTextView
{
showLoginKeyBoard()
}
if textView == bottomTextView
{
showLoginKeyBoard()
}
}
В настоящее время, когда любой из UITextViews становитсяFirstResponder, представление перемещается вверх, что означает, что при использовании верхнего UITextView оно не отображается.
Как я могу убедиться, что верхний UITextView не перемещает представление вверх