gpt4 book ai didi

ios - 增加 UINavigationBarLargeTitleView 的高度

转载 作者:搜寻专家 更新时间:2023-10-31 23:06:09 25 4
gpt4 key购买 nike

我想在导航栏中添加一个横幅,但要增加它的高度。我想复制 Apple Music 应用程序中艺术家页面的设计和行为:

Apple Music

它的行为就像一个普通的大标题,除了它被向下移动,它后面有一个粘性的 UIImageView 并且当用户向下滚动足够远时它会返回它的背景。您可以启动 Apple Music,搜索艺术家并转到他们的页面亲自尝试。

我已经尝试了很多东西,比如在 UINavigationBarLargeTitleView 上设置框架,以及来自这个答案的代码:https://stackoverflow.com/a/49326161/5544222

我已经使用以下代码获取了 UINavigationBarLargeTitleView 及其 UILabel:

func setLargeTitleHeight() {
if let largeTitleView = self.getLargeTitleView() {
if let largeTitleLabel = self.getLargeTitleLabel(largeTitleView: largeTitleView) {
// Set largeTitleView height.
}
}
}

func getLargeTitleView() -> UIView? {
for subview in self.navigationBar.subviews {
if NSStringFromClass(subview.classForCoder).contains("UINavigationBarLargeTitleView") {
return subview
}
}
return nil
}

func getLargeTitleLabel(largeTitleView: UIView) -> UILabel? {
for subview in largeTitleView.subviews {
if subview.isMember(of: UILabel.self) {
return (subview as! UILabel)
}
}
return nil
}

最佳答案

最初放置一个带有图像和标签的 View 以及播放按钮。然后清除导航栏,它会显示在它下面的图像

self.navigationController!.navigationBar.setBackgroundImage(UIImage(), for: .default)
self.navigationController!.navigationBar.shadowImage = UIImage()
self.navigationController!.navigationBar.isTranslucent = true

稍后当您向上滚动时,您必须手动处理它并再次显示带标题的导航。

关于ios - 增加 UINavigationBarLargeTitleView 的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54756433/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com