Высота представления коллекции - PullRequest
0 голосов
/ 13 декабря 2018

Я использую ограничение высоты, чтобы уменьшить высоту представления коллекции, когда клавиатура всплывает.

@objc func keyboardWillShow(notification: NSNotification) {
    if let keyboardSize = (notification.userInfo?[UIResponder.keyboardFrameBeginUserInfoKey] as? NSValue)?.cgRectValue {
    self.collectionViewHeightConstraint.constant = 250 - keyboardSize.height/2
        self.addButtonConstraint.constant = keyboardSize.height+20

    }
}

@objc func keyboardWillHide(notification: NSNotification) {
    if let keyboardSize = (notification.userInfo?[UIResponder.keyboardFrameBeginUserInfoKey] as? NSValue)?.cgRectValue {
    self.collectionViewHeightConstraint.constant = 250
    self.addButtonConstraint.constant = 20

      }
}

Как мне сделатьпредставление коллекции показывает первую половину, а не последнюю половину?

1 Ответ

0 голосов
/ 13 декабря 2018

Попробуйте вызвать это с клавиатуры. МетодWillShow:

collectionView.scrollToTop(false)

Расширение

extension UIScrollView {
    func scrollToTop(_ animated: Bool) {
        var topContentOffset: CGPoint
        if #available(iOS 11.0, *) {
            topContentOffset = CGPoint(x: -safeAreaInsets.left, y: -safeAreaInsets.top)
        } else {
            topContentOffset = CGPoint(x: -contentInset.left, y: -contentInset.top)
        }
        setContentOffset(topContentOffset, animated: animated)
    }
}
...