2016-02-07 4 views
0

Я не новичок в быстром, но новом использовании раскадровки, я обычно делаю все программно, но решил немного изменить его.Swift: addSubview перед StoryBoard

У меня есть раскадровка с кучей UIButtons (цифры 0 - 9, аналогичные калькулятору), и я хотел бы добавить представление о нижнем слое до того, как все кнопки будут добавлены. Таким образом, в терминах слоев: UIView -> UIButtons

Я думал, просто добавив viewDidLoad() и полагая вид первого будет работать, но это не так:

override func viewDidLoad() { 

    blurView = BlurViewEffect(frame: CGRect(x: 0, y: 0, width: self.view.bounds.width, height: self.view.bounds.height)) 
    self.view.addSubview(blurView) 

    designButtons() 
} 

Любая идея, как я могу загрузить раскадровку последний?

+2

Не совсем ответ на ваш вопрос, но почему бы не просто 'view.insertSubview (blurView, atIndex: 0)'? – Eendje

+0

Это сработало отлично! Спасибо! @Eendje – OriginalAlchemist

ответ

0

Невозможно загрузить раскадровку до метода viewDidLoad. Раскадровки сериализуются, поэтому в основном они загружаются методом init:coder.

Однако типичные макетирующие инструменты должны делать трюк для ваших нужд. Просто используйте view.sendSubviewToBack(blurView), чтобы убедиться, что ваш blurView находится в задней части представления.

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