UIViews在迅速

时间:2014-10-10 14:01:35

标签: uiview swift

全部,

我有一个图像,然后我在屏幕上显示它,然后我去一个模糊图像的功能。然后我运行另一个函数来添加一个框。但它没有显示模糊和框,这是因为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)
    }

1 个答案:

答案 0 :(得分:3)

部分问题是您无法知道addBox是否正在做任何事情。这是你的代码:

    let newBox = UIView(frame: location)
    newBox.backgroundColor = UIColor.clearColor()
    self.view.insertSubview(newBox, atIndex: 1)

只包含清晰背景颜色的视图完全不可见。所以你什么都看不到 - 正如Sherlock Holmes所说的那样,正如你所期待的那样。