Autolayout в UITextField: автоматическое расположение все еще требуется после выполнения -layoutSubviews

Я подкласс UITextField, чтобы добавить метку на левой стороне. Я использую autolayout для размещения метки. Тем не менее, я продолжаю получать этот сбой:

Вот как я делаю код моего макета:

- (void)updateConstraints {

self.segmentLabel.translatesAutoresizingMaskIntoConstraints = NO;

NSLayoutConstraint *constraint;
constraint = [NSLayoutConstraint constraintWithItem:self.segmentLabel attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:self attribute:NSLayoutAttributeHeight multiplier:1.0 constant:0.0f];
[self addConstraint:constraint];
constraint = [NSLayoutConstraint constraintWithItem:self.segmentLabel attribute:NSLayoutAttributeLeading relatedBy:NSLayoutRelationEqual toItem:self attribute:NSLayoutAttributeLeading multiplier:1.0 constant:0.0f];
[self addConstraint:constraint];
constraint = [NSLayoutConstraint constraintWithItem:self.segmentLabel attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self attribute:NSLayoutAttributeTop multiplier:1.0 constant:0.0f];
[self addConstraint:constraint];
constraint = [NSLayoutConstraint constraintWithItem:self.segmentLabel attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:self.segmentWidth];
[self addConstraint:constraint];

[super updateConstraints];

}

Когда я не изменяю текстовое поле, это работает нормально.

Однако, если я пытаюсь установить текст заполнителя, я получаю это исключение:

Завершение работы приложения из-за необработанного исключения «NSInternalInconsistencyException», причина: «Автоматическое расположение все еще требуется после выполнения -layoutSubviews. Реализация -layoutSubviews в DDSegmentedTextField должна вызывать super. '

Тем не менее, я не переопределяю -layoutSubviews.

Кто-нибудь сталкивался с этим? Что я делаю неправильно?

Спасибо!

Ответы на вопрос(3)

Ваш ответ на вопрос