1

我想让内联导航栏透明,以便它与视图背景匹配,但仅在滚动之前。滚动后,我想使用默认导航背景颜色,就像大导航栏一样,但带有内联。

以下是 Apple 提醒应用 (iOS14) 中的示例:

在此处输入图像描述

我尝试了这个初始化,但它也会在滚动时改变导航栏背景。

init() {
    UINavigationBar.appearance().barTintColor = .clear
    UINavigationBar.appearance().backgroundColor = .clear
    UINavigationBar.appearance().setBackgroundImage(UIImage(), for: .default)
    UINavigationBar.appearance().shadowImage = UIImage()
}
4

1 回答 1

0

如果这是一个滚动视图,则向滚动视图添加一个委托

func scrollViewDidEndDecelerating(scrollView: UIScrollView) {
    self.stoppedScrolling()
}

func scrollViewDidEndDragging(scrollView: UIScrollView, willDecelerate decelerate: Bool) {
    if !decelerate {
        self.stoppedScrolling()
    }
}

func stoppedScrolling() {
    println("Scroll finished")
    // Do functionality here to change navbar apperance
}

还有其他滚动视图功能可能比上述功能更好地帮助您

于 2020-07-04T21:16:38.493 回答