这是我使用动画视图从上到下,反之亦然一个简单的函数(如果是从上到下的动画和其他的底部到顶部动画):
@objc func openMenu(sender: UIButton) {
if sender.tag == 1 {
self.buttonView.tag = 2
self.moduleView = ModulesCollectionView(frame: CGRect(x: 0, y: self.frame.origin.y + self.frame.size.height + 20, width: UIScreen.main.bounds.size.width, height: 0), collectionViewLayout: UICollectionViewLayout())
self.window?.addSubview(self.moduleView)
UIView.animate(withDuration: 0.7, animations: {
self.moduleView.frame = CGRect(x: 0, y: self.frame.origin.y + self.frame.size.height + 20, width: UIScreen.main.bounds.size.width, height: UIScreen.main.bounds.size.height - self.frame.size.height - 22)
}, completion: { _ in
})
} else {
self.buttonView.tag = 1
UIView.animate(withDuration: 3, animations: {
self.moduleView.frame = CGRect(x: 0, y: self.frame.origin.y + self.frame.size.height + 20, width: UIScreen.main.bounds.size.width, height: 0)
}, completion: { _ in
self.moduleView.removeFromSuperview()
})
}
}
热门动漫作品很好,认为是从顶部愉快的0.7秒动画上下。 然而,从下到上的动画不会发生。 该视图立即删除。 这是我得到的结果:
但我想,同时从底部到顶部以及动画是干净的。 就像这里 。
二级:我终于打算实现的是PullUpController具有完全相反的动画。 因此,如果有人知道类似的库(下拉拖动)可以共享有投入。
更新 :问题与UICollectionView只有到来。 我取代的CollectionView用一个简单的UIView和它的工作完美。