Ho trascorso diversi giorni su questo senza soluzione in vista.come posso aumentare l'altezza di un inputAccessoryView
Ho un inputAccessoryView
che consiste in un UIView
contenente un textView
e due pulsanti. Il comportamento di inputAccessoryView
è come previsto e funziona in tutti i casi tranne uno.
Quando aumenta l'altezza di textView, sto cercando di aumentare l'altezza dello inputAccessoryView
della stessa quantità. Quando ridefinisco l'altezza di inputAccessoryView
in textViewDidChange
, lo inputAccessoryView
aumenta l'altezza verso il basso sulla tastiera anziché verso l'alto.
Ho provato molti suggerimenti diversi da SO ma niente ha funzionato. Immagino sia l'aggiunta automatica NSLayoutConstraint
del inputAccessoryView
ma non ho idea di come cambiare quel valore in swift e iOS 8.3.
func textViewDidChange(textView: UITextView) {
var contentSize = messageTextView.sizeThatFits(CGSizeMake(messageTextView.frame.size.width, CGFloat.max))
inputAccessoryView.frame.size.height = contentSize.height + 16
}
aggiungendo
inputAccessoryView.setTranslatesAutoresizingMaskIntoConstraints(true)
al codice di cui sopra aiuta e l'altezza inputAccessoryView aumenta verso l'alto in modo corretto ma ottengo Incapace di soddisfare contemporaneamente i vincoli per diversi vincoli ed è molto difficile identificare i colpevoli. Inoltre ottengo uno strano effetto del TextView creando spazio aggiuntivo di seguito su ogni seconda istanza di una nuova riga.
grazie.
ho notato la prima chiamata di textViewDidChange non correttamente ridimensionare l'inputAccessoryView senza la linea setTranslatesAutoresizingMaskIntoConstraints, ma le chiamate successive non hanno alcun effetto. Mi chiedo perché sia e come posso ripristinarlo in ogni momento iniziale – alionthego