Não foi possível alterar a altura do UIInputView

Eu tenho uma subclasse UIInputViewController simples com apenas dois métodos substituídos. Eu uso esse controlador de exibição de entrada comoinputAccessoryViewController na minha subclasse UIViewController que se torna o primeiro a responder. Tento especificar a altura do inputView adicionando restrições, conforme recomendado pela documentação da Apple. O problema é que minha restrição não funciona e recebo uma exceção de pagamento automático quando minha restrição está sendo adicionada

Unable to simultaneously satisfy constraints.
Probably at least one of the constraints in the following list is one you don't want.
...
(
    "<NSLayoutConstraint:0x178aa1d0 V:[UIInputView:0x178a4ae0(0)]>",
    "<NSLayoutConstraint:0x178b9520 V:[UIInputView:0x178a4ae0(500)]>"
)
Will attempt to recover by breaking constraint 
<NSLayoutConstraint:0x178b9520 V:[UIInputView:0x178a4ae0(500)]>

O que eu acho que significa que o sistema já adicionou uma restrição de altura zero à visualização de entrada (porque é criado com altura zero). Agora eles entram em conflito e o pagamento automático interrompe minha restrição para corrigir o problema.

Quando tento usá-lo comoinputViewController do meu controlador de exibição (apenas para fins de teste), recebo a mesma exceção, mas, em vez de altura zero, é 216 px. Ele também quebra minha restrição e a altura permanece padrão.

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.

    self.inputView.translatesAutoresizingMaskIntoConstraints = NO;
    self.inputView.backgroundColor = [UIColor redColor];
}

- (void)updateViewConstraints {

    CGFloat _expandedHeight = 500;
    NSLayoutConstraint *_heightConstraint = 
    [NSLayoutConstraint constraintWithItem:self.view
                                 attribute:NSLayoutAttributeHeight
                                 relatedBy:NSLayoutRelationEqual
                                    toItem:nil
                                 attribute:NSLayoutAttributeNotAnAttribute
                                 multiplier:0.0
                                   constant: _expandedHeight];
    [self.inputView addConstraint: _heightConstraint];

    [super updateViewConstraints];
}

-(void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
    [self.view setNeedsUpdateConstraints];
}

Como resultado, não consigo alterar a altura da vista do acessório de entrada. Alguém conseguiu? Obviamente, a documentação da Apple não fornece ajuda ...

questionAnswers(4)

yourAnswerToTheQuestion