Проблемы с интерактивной клавиатурой, всегда подпрыгивающей - это также подпрыгивающий фон collectionView - PullRequest
1 голос
/ 11 апреля 2019

Итак, у меня есть интерактивная клавиатура с сообщениями.Это было хорошо и работало хорошо.Все, пока мне не понадобилось изображение в качестве фона.Я настроил изображение следующим образом:

 let bgImage = UIImageView();
 bgImage.image = self.image
 self.collectionView.backgroundView = bgImage

Код для моей прокрутки клавиатуры и интерактивности следующий:

 //(In viewdidload)  ....

self.collectionView.bounces = true
self.collectionView.alwaysBounceVertical = true //Scrolling
setupKeyboardObservers()
}
    func setupKeyboardObservers(){
    NotificationCenter.default.addObserver(self, selector: #selector(handleKeyboardDidShow), name: UIResponder.keyboardDidShowNotification, object: nil)
}
  override func viewDidDisappear(_ animated: Bool) {
    super.viewDidDisappear(animated)
    NotificationCenter.default.removeObserver(self)
}

@objc func handleKeyboardDidShow(){
    if messages.count > 0{
        let indexPath = NSIndexPath(item: messages.count-1, section: 0)
        collectionView?.scrollToItem(at: indexPath as IndexPath, at: .top, animated: true)
    }
}

По какой-то причине это также перемещает фонизображение моего collectionView, которое, я думаю, имеет смысл.Как я мог обойти это?Кажется, я не могу найти какой-либо другой способ установить фон для коллекции, если он не перемещается :( Спасибо!

1 Ответ

0 голосов
/ 11 апреля 2019
  • Да, это произойдет, потому что вы добавили изображение в фон представления коллекции.
  • Вместо этого сначала нужно добавить его в представление, а затем добавить представление коллекции поверх него и сделать фон представления коллекции прозрачным.тогда оно не будет прокручивать изображение.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...