2016-03-10 5 views
0

Я пытаюсь добавить наложение поверх всех своих контроллеров view, добавив этот код в свой «BaseViewController». Однако это приводит к тому, что все ViewControllers становятся черными и ведут себя странно.Добавление subview с ограничениями делает вид черным

override public func viewDidLoad() 
{ 
    super.viewDidLoad() 

    overlayView = UIView() 
    overlayView.backgroundColor = UIColor.redColor() //For testing 
    view.addSubviewWithMatchingConstraints(overlayView) 
    ... 
} 

И в расширении UIView:

func addSubviewWithMatchingConstraints(subView: UIView) 
{ 
    translatesAutoresizingMaskIntoConstraints = false 
    addSubview(subView) 

    addConstraint(NSLayoutConstraint(item: subView, attribute: .Width, relatedBy: .Equal, toItem: self, attribute: .Width, multiplier: 1, constant: 0)) 
    addConstraint(NSLayoutConstraint(item: subView, attribute: .Height, relatedBy: .Equal, toItem: self, attribute: .Height, multiplier: 1, constant: 0)) 
    addConstraint(NSLayoutConstraint(item: subView, attribute: .CenterX, relatedBy: .Equal, toItem: self, attribute: .CenterX, multiplier: 1.0, constant: 0)) 
    addConstraint(NSLayoutConstraint(item: subView, attribute: .CenterY, relatedBy: .Equal, toItem: self, attribute: .CenterY, multiplier: 1.0, constant: 0)) 
} 

ответ

0

Проблема в том, что я поставил translatesAutoresizingMaskIntoConstraints на родителя, а не ребенка.

childView.translatesAutoresizingMaskIntoConstraints = false 

установил ее

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