ios - texto - what is auto layout




Como alterar dinamicamente o tamanho da fonte no layout automático do iOS? (2)

Oi, se você está adicionando UILabel do storyboard você pode definir fonte diferente para todo o layout disponível.

Eu quero ajustar meu texto em um UILabel , mas para diferentes iPhone o tamanho do UILabel está mudando, já que estou usando o layout automático, mas não consigo consertar o tamanho da fonte, então meu texto está sendo cortado.

Existe alguma maneira eu posso definir qualquer restrição para que o texto se encaixa no UILabel dinamicamente?

Veja aqui o texto foi cortado, por causa da resolução de tela diferente


Você deve usar autoshrink .

Como todos os iPhones têm a mesma classe de tamanho Compact width quando estão no modo retrato, você não pode confiar nisso para lidar com o tamanho da etiqueta.

As visualizações são para iPhone5, iPhone6 ​​e iPhone 6+

No inspetor, você deve selecionar uma escala mínima de fonte ou um tamanho mínimo de fonte na frente de Autoshrink. Isso permite que o conteúdo altere o tamanho da fonte para caber no rótulo.

Aqui, eu defini a escala de fonte mínima para 0,5, então o tamanho mínimo é metade do tamanho atual (31,0) . O texto tentará se ajustar até atingir a escala / tamanho mínimo.

(Geralmente não use "Aperte o espaçamento entre letras" para essa finalidade. Apertar o espaçamento entre letras usa o mesmo tamanho de fonte e reduz o espaçamento entre letras. Ele pode tornar o rótulo até 5% mais apertado antes de truncar, mas não é eficaz quando tamanho está ativado.)

Você pode querer testar com um dispositivo de tela ampla, como o iPad Pro , e também em uma tela menor, como o iPhone 4S .

Autoshrink não ajusta o tamanho da fonte maior do que o definido no rótulo, o que significa que se você fizer o rótulo com a mesma largura da tela, mas deixar o tamanho da fonte em 14 , ele tentará aumentar o tamanho da fonte até atingir esse tamanho .

Para realmente funcionar, selecione um tamanho de fonte grande .

Você ainda pode combinar o autoshrink com as classes de tamanho para alterar o tamanho máximo da fonte, dependendo do dispositivo / da orientação.

Caso você queira usar autoshrink com UIButton s, ainda é possível definir esse comportamento com duas linhas de código.

myButton.titleLabel.minimumScaleFactor = 0.5;
myButton.titleLabel.adjustsFontSizeToFitWidth = YES;




autolayout