gpt4 book ai didi

swift - 没有导航栏的半透明状态栏

转载 作者:搜寻专家 更新时间:2023-10-30 22:08:28 25 4
gpt4 key购买 nike

目标:让表格 View 滚动,使其在状态栏下显示半透明,而不显示导航栏。

现在,我将 tableView 设置为顶部 anchor (从技术上讲,它位于状态栏下方)。当您在表格 View 上向上滚动时,这会将状态栏设置为纯色。我已将 navigationAppearance 的 barTintColor 和半透明设置为 YES,但没有成功。

有什么想法吗? View 在 Storyboard中实例化

最佳答案

如果没有任何 code,您的问题很难猜到。我相信您正试图在 tableview 内容滚动时实现半透明状态栏,就像您在 Apple Music 应用程序中提到的那样。

在您的 viewdidLoad 方法中尝试以下代码。

第 1 步:隐藏导航栏。如果您的 controller 嵌入了 navigationController

navigationController?.navigationBar.isHidden = true

第 2 步:将状态栏大小 UIView 放置到您的 Controller 中,作为半透明状态栏并调整 alpha 值。

 let statusBarView = UIView(frame: CGRect(x:0, y:0, width:view.frame.size.width, height: UIApplication.shared.statusBarFrame.height))
statusBarView.backgroundColor=UIColor.white
statusBarView.alpha = 0.8 // set any value between 0 to 1
view.addSubview(statusBarView)

以上代码将产生以下输出。让我知道该代码适合您。

enter image description here

有关如何设置 tableView framecontentView 的更多信息,请查看我在下面的回答 link .


更新:

改进答案:

可以使用UIBlurEffectView来达到更好的半透明效果。

    let statusBarView = UIView(frame: CGRect(x:0, y:0, width:view.frame.size.width, height: UIApplication.shared.statusBarFrame.height))
let blurEffect = UIBlurEffect(style: .extraLight) // Set any style you want(.light or .dark) to achieve different effect.
let blurEffectView = UIVisualEffectView(effect: blurEffect)
blurEffectView.frame = statusBarView.bounds
blurEffectView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
statusBarView.addSubview(blurEffectView)
view.addSubview(statusBarView)

输出:

enter image description here

关于swift - 没有导航栏的半透明状态栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43191161/

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