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.
Кто-нибудь сталкивался с этим? Что я делаю неправильно?
Спасибо!