2014-10-10 5 views
0

Все,UIViews in 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) 
    } 

ответ

3

Часть проблемы заключается в том, что у вас нет возможности узнать, делает ли addBox что-нибудь или нет. Вот ваш код:

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

Вид, состоящий только из чистого цвета фона, полностью невидим. Таким образом, вы ничего не видите - что, как говорит Шерлок Холмс, именно то, что вы можете ожидать увидеть.

+0

Отлично, я забыл, что бит !!! господи !! – Jason

+1

Не так уж плохо. Хотелось бы, чтобы у меня был никель, каждый раз, когда я добавлял subview, и я не давал ему рамки! Таким образом, он имел нулевой размер, поэтому он был невидим. Я так часто делал это, я был бы богат сейчас ... – matt

Смежные вопросы