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 umNSViewFrameDidChangeNotification
recalcule 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?