swift – 没有导航栏的半透明状态栏
发布时间:2020-12-14 04:46:55 所属栏目:百科 来源:网络整理
导读:目标:要使表格视图滚动,以便在状态栏下显示半透明而不显示导航栏. 现在,我将tableView设置为顶部锚点(因此技术上位于状态栏下方).在向上滚动表视图时,这会将状态栏设置为纯色.我已经将navigationAppearance的barTintColor和半透明设置为YES而没有运气. 有任
目标:要使表格视图滚动,以便在状态栏下显示半透明而不显示导航栏.
现在,我将tableView设置为顶部锚点(因此技术上位于状态栏下方).在向上滚动表视图时,这会将状态栏设置为纯色.我已经将navigationAppearance的barTintColor和半透明设置为YES而没有运气. 有任何想法吗?视图在故事板中实例化 解决方法
如果没有任何代码,您的问题很难猜测.我相信当您在Apple Music应用中提到的tableview内容滚动时,您尝试实现半透明状态栏.
在viewdidLoad方法中尝试以下代码. 第1步:隐藏导航栏.如果您的控制器嵌入了navigationController. navigationController?.navigationBar.isHidden = true 步骤2:将状态栏大小UIView放置到控制器中,以充当具有调整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) 上面的代码将产生以下输出.让我知道代码适合您. 有关如何设置tableView框架和contentView的更多信息,请查看以下link中的答案. 更新: 改进答案: 您可以使用UIBlurEffectView来实现更好的半透明效果. let statusBarView = UIView(frame: CGRect(x:0,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) 输出: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |