рекомендую задать ваш черный цвет самой вьюхе контроллера, а не добавлять на него свой кастомный бекграунд. но если очень хочется - рекомендую воспользоваться констрейнтами, если и это вас не устраивает, то использовать autoresizingMask. ну и если и это по какой-то причине вас тоже не устраивает, то в контроллере в методе viewDidLayoutSubviews сделать bgView.frame = self.view.bounds. ну и последнее - если уже совсем вы такой принципиальный, то в методе layoutSubviews вашей UIView сделать if let parent = superview { frame = parent.bouns }