所有人,
我有一个图像,然后我把它显示在屏幕上,然后我去一个函数模糊图像。然后我运行另一个函数来添加一个框。但它没有显示模糊和框,这是因为addSubView和insertSubView-我想。基本上我不能把模糊和框都放在视图上。如果我取消对addBox的注释,它不会显示模糊。有谁能帮助我理解addSubView和InsertSubView(array)。
这是我的代码:
class ViewController: UIViewController {
var Box : UIView?
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let bananaImage : UIImage = UIImage(named: "edify-backgound.png")
var imageV : UIImageView = UIImageView(image: bananaImage)
imageV.frame = CGRectMake(0, 0, bananaImage.size.width, bananaImage.size.height)
imageV.center = self.view.center
self.view.addSubview(imageV)
blur()
//addBox(CGRectMake(200, 300, 30, 30))
}
func addBox(location: CGRect)
{
let newBox = UIView(frame: location)
newBox.backgroundColor = UIColor.clearColor()
self.view.insertSubview(newBox, atIndex: 1)
Box = newBox
}
func blur()
{
var blur = UIVisualEffectView(effect: UIBlurEffect(style: .Light)) as UIVisualEffectView
blur.frame = self.view.frame
self.view.addSubview(blur)
}
最佳答案
问题的一部分是你无法知道addBox
是否在做任何事情。这是您的代码:
let newBox = UIView(frame: location)
newBox.backgroundColor = UIColor.clearColor()
self.view.insertSubview(newBox, atIndex: 1)
只有清晰背景色的视图是完全不可见的。所以你什么也看不到,正如福尔摩斯所说,这正是你所期望看到的。