Usando o Autolayout com a expansão do NSTextViews

Meu aplicativo consiste em umNSScrollView cuja visão do documento contém um número de empilhados verticalmenteNSTextViews - cada um dos quais redimensiona na direção vertical à medida que o texto é adicionado.

Atualmente, tudo isso é gerenciado no código. oNSTextViews redimensionar automaticamente, mas eu observo o seu redimensionamento com umNSViewFrameDidChangeNotificationrecalcule todas as suas origens de modo que elas não se sobreponham e redimensione sua super visão (a visualização de documento da visualização de rolagem) para que todas elas se ajustem e possam ser roladas para.

Isto parece como se fosse o candidato perfeito para autolayout! eu colocoNSLayoutConstraints entre a primeira visualização de texto e seu contêiner, a última exibição de texto e seu contêiner e cada exibição de texto entre si. Então, se qualquer visão de texto crescer, ela automaticamente "empurra para baixo" as origens das visualizações de texto abaixo dela para satisfazer as restrições, em última análise, aumentando o tamanho da visualização do documento, e todo mundo fica feliz!

Exceto, parece que não há como fazer umaNSTextView crescer automaticamente à medida que o texto é adicionado em um layout baseado em restrições? Usando exatamente o mesmoNSTextView que se expande automaticamente como o texto foi inserido antes, se eu não especificar uma restrição para a sua altura, defautes para 0 e não é mostrado. Se eu especificar uma restrição, mesmo uma desigualdade como> = 20, ela permanecerá nesse tamanho e não crescerá à medida que o texto for adicionado.

Eu suspeito que isso tem a ver com a implementação do NSTextView-intrinsicContentSize, que por padrão retorna(NSViewNoInstrinsicMetric, NSViewNoInstrinsicMetric).

Então, minhas perguntas: se eu subclassesNSTextView para retornar um mais significativointrinsicContentSize com base no layout do meu texto, meu autolayout funcionaria conforme o esperado?

Quaisquer indicações sobre a implementaçãointrinsicContentSize para um redimensionamento vertical do NSTextView?

questionAnswers(4)

yourAnswerToTheQuestion