全部,
我有一个图像,然后我在屏幕上显示它,然后我去一个模糊图像的功能。然后我运行另一个函数来添加一个框。但它没有显示模糊和框,这是因为addSubView和insertSubView - 我猜。基本上我不能把模糊和框放在视图上。如果我取消注释addBox,它不会显示模糊。任何人都可以帮助我理解addSubView和InsertSubView(数组)。
这是我的代码:
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)
}
答案 0 :(得分:3)
部分问题是您无法知道addBox
是否正在做任何事情。这是你的代码:
let newBox = UIView(frame: location)
newBox.backgroundColor = UIColor.clearColor()
self.view.insertSubview(newBox, atIndex: 1)
只包含清晰背景颜色的视图完全不可见。所以你什么都看不到 - 正如Sherlock Holmes所说的那样,正如你所期待的那样。