提问人:Erhan Demirci 提问时间:10/19/2023 最后编辑:Erhan Demirci 更新时间:10/20/2023 访问量:23
标题在向上滚动时通过降低其高度而消失
header disappears by decreasing its height when scrolled up
问:
我希望当您滚动时,它不会通过降低 collectionview 上的高度来向下移动。
我希望它在我的应用程序中,就像在 YouTube 的 iOS 应用程序中一样,当向上滚动时,标题会通过降低其高度而消失。 视频:
我写了这样的代码
extension TemplatesViewController{
func showTagsPlaceHolder() {
DispatchQueue.main.async { [self] in
tagsPlaceHolderViewHeightAnchor.isActive = false
tagsPlaceHolderViewHeightAnchor.constant = 120
tagsPlaceHolderViewHeightAnchor.isActive = true
//tagsPlaceholder.isHidden = false
self.view.setNeedsLayout()
UIView.animate(withDuration: 0.5) {
tagsPlaceholder.alpha = 1
self.view.layoutIfNeeded()
}
}
}
func hideTagsPlaceHolder() {
DispatchQueue.main.async {[self] in
tagsPlaceHolderViewHeightAnchor.isActive = false
tagsPlaceHolderViewHeightAnchor.constant = 0
tagsPlaceHolderViewHeightAnchor.isActive = true
self.view.setNeedsLayout()
UIView.animate(withDuration: 0.5) {
tagsPlaceholder.alpha = 0
self.view.layoutIfNeeded()
}
}
}
func scrollViewDidScroll(_ scrollView: UIScrollView) {
let yOffset = scrollView.contentOffset.y
let maxOffsetY = scrollView.contentSize.height - scrollView.frame.size.height;
//refresh the table view but disable the bounce
if yOffset < 0.0 || yOffset > maxOffsetY{
return
}
if (self.lastContentOffset > yOffset) {
// move up
print("move up")
showTagsPlaceHolder()
//tagsPlaceHolderIsHidden = true
}
else if (self.lastContentOffset < yOffset) {
// move down
print("move down")
hideTagsPlaceHolder()
//tagsPlaceHolderIsHidden = false
}
self.lastContentOffset = yOffset
}
}
唯一的问题是,当你向上滚动时,高度会逐渐降低,或者当你向下滚动时,高度会逐渐增加。它应该像 YouTube 一样流畅。我也在分享项目:项目文件
答: 暂无答案
评论