【发布时间】:2017-02-15 13:45:21
【问题描述】:
我有一个UITabBar,我想让它变得模糊。我写了以下代码:
import UIKit
class TabBarController:UITabBarController {
override func viewDidLoad() {
super.viewDidLoad()
let blur = UIBlurEffect(style: UIBlurEffectStyle.Light)
let blurView = UIVisualEffectView(effect: blur)
blurView.frame = self.view.bounds
blurView.autoresizingMask = [.FlexibleWidth, .FlexibleHeight]
self.view.layer.insertSublayer(blurView, atIndex: 0)
}
}
但不知何故最后一行抛出错误:
无法将“UIVisualEffectView”类型的值转换为预期参数 输入“CALayer”
我该如何解决这个问题?
我把最后一行改成:
self.tabBar.addSubview(blurView)
但现在整个标签栏都模糊了(即使有图标,它们也不可见)。当我将此行更改为:
self.tabBar.sendSubviewToBack(blurView)
然后标签栏可见,但不模糊。我想从这里Black background on transparent UITabBar 接受的答案中获得效果,但这里是 uitabbar,我正在使用 uitabbarcontroller...你能帮我在我的情况下应用模糊吗?
【问题讨论】:
-
模糊还是透明?
-
@Mr.Bista 被
UIBlurEffectStyle.Light模糊了 :) -
您可以添加您的故事板的图片吗?
-
@kabiroberai 我有一个包含 3 个视图的
UITabBarController,每个视图都嵌入在导航控制器中,所以我的故事板的这一部分看起来像这样:i.imgur.com/pfIpRMY.png -
@user3766930 以及您想在
UITabBarController后面模糊哪些内容?你能发送一张带有内容的特定视图控制器的图片吗?
标签: swift uitabbarcontroller uistoryboard uitabbar