我试图给我的视图添加一个模糊效果。我创建像这样模糊效果不出现在UITableViewCell
let blurLabel: UIVisualEffectView = {
let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.dark)
let blurEffectView = UIVisualEffectView(effect: blurEffect)
return blurEffectView
}()
模糊效果然后我把它添加到子视图像这样,并设置了该软件的约束以及
override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
super.init(style: .subtitle, reuseIdentifier: reuseIdentifier)
let view = tableViewCell
addSubview(view)
view.addSubview(blurLabel)
blurLabel.leftAnchor.constraint(equalTo: self.leftAnchor,constant:0).isActive = true
//blurLabel.topAnchor.constraint(equalTo: self.topAnchor, constant: 178).isActive = true
blurLabel.widthAnchor.constraint(equalToConstant: 375).isActive = true
blurLabel.heightAnchor.constraint(equalToConstant: 180).isActive = true
但是当我运行应用程序,它不根本不出现
这应该没有必要。由于您已经使用了自动布局,因此您应该能够设置模糊视图的'translatesAutoResizingMaskIntoConstraints = false',以便自动布局不会尝试给它一个零宽度和高度(因为您没有使用它假定的框架初始化它{0,0,0,0}的帧)。正如Arpit所说,有一种可能性是设置一个新的框架,但我认为一个更清晰的解决方案是使用自动布局而没有明确的框架。 – HAS
是的,@HAS在这里是正确的。你需要做的是设置'translatesAutoResizingMaskIntoConstraints = false'。哦,是的,他已经说过:D – Fogmeister