"El layout automático sigue siendo necesario después de ejecutar -layoutSubviews" en la subclass UINavigationBar

Tengo una subclass UINavigationBar a la que estoy agregando algunas UIViews.

Mis UIViews se distribuyen según las restricciones que defino en -[UIView updateViewConstraints:]

 NSDictionary *views, *metrics; // search container constraints [self addSubview:self.searchContainer]; self.searchContainer.translatesAutoresizingMaskIntoConstraints = NO; views = NSDictionaryOfVariableBindings(_searchContainer); metrics = @{@"h": @(SearchContainerExpandedHeight) }; self.searchContainerLeftSpacingConstraint = [NSLayoutConstraint constraintWithItem:self.searchContainer attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self attribute:NSLayoutAttributeLeft multiplier:1.0 constant:xMargin]; [self addConstraint:self.searchContainerLeftSpacingConstraint]; self.searchContainerRightSpacingConstraint = [NSLayoutConstraint constraintWithItem:self.searchContainer attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:self attribute:NSLayoutAttributeRight multiplier:1.0 constant: 0 - xMargin]; [self addConstraint:self.searchContainerRightSpacingConstraint]; [self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-24-[_searchContainer(h)]" options:0 metrics:metrics views:views]]; //etc 

En iOS8 y más, esto funciona bien. En iOS7, recibo el siguiente error:

'El layout automático sigue siendo necesario después de ejecutar -layoutSubviews. La implementación de myUINavigationBarSubclass de -layoutSubviews necesita llamar super. '

¿Lo que da? No estoy reemplazando layoutSubviews en ninguna parte?

PD. Intenté llamar [self layoutIfNeeded] antes de agregar las restricciones (como algunas han sugerido en otras preguntas), pero parece que no funciona.

Asegúrese de configurar:

 [containerView setTranslatesAutoresizingMaskIntoConstraints:NO]; 

para su contenedor y subvenciones.