2014-10-10 151 views
0

全部,UIViews在迅速

我有一個圖像,然後我將它顯示在屏幕上,然後我去一個函數來模糊圖像。然後我運行另一個函數來添加一個框。但它不顯示模糊和框,這是因爲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) 
    } 

回答

3

的是,你沒有辦法知道是否addBox正在做什麼或不是的方式。這裏是你的代碼:

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

一個視圖,只包含一個清晰的背景色,是完全看不見的。所以你什麼都看不到 - 正如福爾摩斯說的那樣,正是你期望看到的。

+0

完美,我忘了那一點!!!哎呀! – Jason 2014-10-10 14:17:55

+1

還不錯。我希望每次添加子視圖時都有一個鎳幣,但我沒有給它一個框架!所以它沒有大小,所以它是隱形的。我經常這麼做,我現在會變得富有...... – matt 2014-10-10 14:18:53